Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/blockchain/robinhood/bags-fm-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ Follow the steps here: [How to generate Bitquery API token ➤](/docs/authorizat
- [Robinhood Trades API](/docs/blockchain/robinhood/robinhood-trades)
- [Robinhood Meme Coin Launches API](/docs/blockchain/robinhood/robinhood-meme-coin-launches)
- [Flap.sh API on Robinhood](/docs/blockchain/robinhood/flap-sh-api)
- [Pons API on Robinhood](/docs/blockchain/robinhood/pons-api) — bonding-curve launchpad, graduations, Uniswap v4 pools
- [Pools.trade API on Robinhood](/docs/blockchain/robinhood/pools-trade-api)
- [Robinhood Transfers](/docs/blockchain/robinhood/robinhood-transfers)
- [WebSocket subscriptions](/docs/subscriptions/websockets/)
:::
Expand Down
32 changes: 28 additions & 4 deletions docs/blockchain/robinhood/flap-sh-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,20 +38,34 @@ Follow the steps here: [How to generate Bitquery API token ➤](/docs/authorizat
:::tip Related docs
- [Robinhood Trades API](/docs/blockchain/robinhood/robinhood-trades)
- [Robinhood Meme Coin Launches API](/docs/blockchain/robinhood/robinhood-meme-coin-launches)
- [Pons API on Robinhood](/docs/blockchain/robinhood/pons-api) — bonding-curve launchpad, graduations, Uniswap v4 pools
- [Pools.trade API on Robinhood](/docs/blockchain/robinhood/pools-trade-api)
- [Robinhood Transfers](/docs/blockchain/robinhood/robinhood-transfers)
- [WebSocket subscriptions](/docs/subscriptions/websockets/)
:::

---

## Flap.sh contract
## Flap.sh contracts

Flap.sh is **not a single contract**. A router takes the user's transaction, a factory mints the token, and a separate bonding-curve engine handles every buy and sell. Each role emits a different set of events from a different address, and more than one address is live in each role.

| Role | Address | Emits |
| --- | --- | --- |
| **Launch router** (entry point) | `0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09` | Nothing but `Upgraded` — it is an upgradeable proxy. It appears as **`Transaction.To`**, not as a log address. |
| **Token factory** | `0x78eb178d94739b8adf199543924e47e9547c4924`<br/>`0x549574ddf0d72928f2041c17daab2097dd46d815` | `TokenCreated`, `TokenCurveSetV2`, `FlapTokenTaxSet`, `TokenQuoteSet`, `TokenVersionSet`, `TokenDexPreferenceSet`, `TokenDexSupplyThreshSet`, `TokenMigratorSet` |
| **Vanity token factory** | `0xa2fb48fefb15f777ec6ac3857164550ee93c1f25`<br/>`0x52e3eb4f18dfb8215e17d27dee5718075f6c2639` | `VanityTokenCreated`, plus the same `TokenCreated` / `TokenCurveSetV2` pair |
| **Bonding-curve engine** | `0x87a697bf7fbe28dc1eccc4d9b4bd1cfa76885f93`<br/>`0x2a50c45b5cbb9e5c735f094c6386c39f8ffbc655` | `TokenBought`, `TokenSold`, `TaxV2OnBondingCurvePaid`, `FlapTokenProgressChanged`, `FlapTokenCirculatingSupplyChanged` |

| Field | Value |
| --- | --- |
| **Flap.sh contract** | `0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09` |
| **Launch mint `Amount`** | `1000000000` (1 billion, decimal-normalized) |

The contract address is used as the `Log`/`LogHeader` address for events, as `Transaction.To` for mint transfers, and as the `Pair.Market.Program` for trades.
:::caution Do not filter Flap.sh events by the router address
`0x26605f32…` is the address users transact **to**, so it is correct for `Transaction.To` filters on mint transfers. It is **not** the `Log`/`LogHeader` address of any Flap.sh event — filtering logs by it returns nothing. Launches also arrive through several vanity routers ending in `…6666`, so `Transaction.To` alone will not capture every launch either.

Match Flap.sh events by **event signature name** (as every query on this page does), and scope to a token with an `Arguments` filter. Pin to the factory and curve addresses above only when you specifically need to exclude another protocol that reuses a generic event name.
:::

---

Expand Down Expand Up @@ -299,6 +313,10 @@ The bonding-curve engine emits its own decoded trade events on the Flap.sh contr

The most important lifecycle signal: a token completed its bonding curve and was **launched to a DEX**. The event returns the new `pool` address (use it with the [Robinhood Trades API](/docs/blockchain/robinhood/robinhood-trades) to follow post-graduation trading), the migrated token `amount`, and the `eth` seeded into the pool.

:::caution `LaunchedToDEX` is not exclusive to Flap.sh
Other Robinhood Chain launchpads emit an event with this same name. The query below returns graduations across all of them. To keep the feed Flap.sh-only, add a `LogHeader.Address` filter for the curve engines listed in [Flap.sh contracts](#flapsh-contracts), or check the graduated `token` against a Flap.sh `TokenCreated` / `TokenCurveSetV2` pair before acting on it.
:::

```graphql
{
EVM(network: robinhood) {
Expand Down Expand Up @@ -521,7 +539,13 @@ Use the `FlapTokenProgressChanged` event. `newProgress` is scaled by `1e18`, so

### Why do the event queries filter by `Log.Signature.Name` instead of a contract address?

Flap.sh emits the same event from several contracts (the bonding-curve engine, factories, and router). Filtering by the signature name captures the event across all of them. Add an `Arguments.includes` filter on the `token` argument to scope to one token.
Flap.sh emits its events from several contracts — separate factories, vanity factories, and bonding-curve engines, each with more than one live address (see [Flap.sh contracts](#flapsh-contracts)). Filtering by the signature name captures the event across all of them. Add an `Arguments.includes` filter on the `token` argument to scope to one token.

### Can a signature-name filter pick up other protocols?

Yes, for generic names. `TokenCreated` in particular is emitted by several unrelated launchpads on Robinhood Chain, and `LaunchedToDEX` is emitted by protocols other than Flap.sh. Names carrying the `Flap` prefix — `FlapTokenProgressChanged`, `FlapTokenCirculatingSupplyChanged`, `FlapTokenTaxSet` — are unambiguous; the generic ones are not.

If a feed must be Flap.sh-only, add a `LogHeader.Address` filter pinned to the factory and curve addresses in [Flap.sh contracts](#flapsh-contracts), or cross-check the token against a `TokenCurveSetV2` event, which the Flap.sh factories always emit alongside `TokenCreated`.

---

Expand Down
92 changes: 92 additions & 0 deletions docs/blockchain/robinhood/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
title: "Robinhood Chain API — Trades, Launchpads & Real-Time Streams"
description: "Robinhood Chain APIs from Bitquery: query trades, transfers, balances, token holders, liquidity, events, and every major launchpad on chain 4663 with GraphQL and WebSocket streams."
sidebar_position: 0
keywords:
- Robinhood Chain API
- Robinhood Chain data API
- Robinhood Chain 4663
- Robinhood Chain GraphQL API
- Robinhood Chain launchpad API
- Robinhood Chain trades API
- Robinhood Chain WebSocket
- Robinhood Chain token launches
- Robinhood Chain bonding curve
- Robinhood Chain memecoin API
- Robinhood Chain holders API
- Robinhood Chain liquidity API
- how to index Robinhood Chain
- track new tokens Robinhood Chain
- Bitquery Robinhood API
---

# Robinhood Chain API — Trades, Launchpads & Real-Time Streams

**Robinhood Chain** (`network: robinhood`, chain ID **4663**) is an EVM network. Bitquery indexes it end to end — blocks, transactions, internal calls, decoded events, token transfers, balances, DEX trades, and pool liquidity — and exposes all of it through one GraphQL endpoint, with any query convertible into a live WebSocket stream.

This page is the index for that coverage. Start here if you are deciding **which cube answers your question**; go straight to a linked page once you know.

:::note API Key Required
To query or stream data outside the Bitquery IDE, you need an API access token.

Follow the steps here: [How to generate Bitquery API token ➤](/docs/authorization/how-to-generate/)
:::

---

## Pick the right API

| What you want | Use this | Page |
| --- | --- | --- |
| Swap prices, volume, OHLCV | `DEXTrades` / `Trading` cubes | [Robinhood Trades API](/docs/blockchain/robinhood/robinhood-trades) |
| Who sent what to whom | `Transfers` | [Robinhood Transfers API](/docs/blockchain/robinhood/robinhood-transfers) |
| A wallet's portfolio and history | `Balances` | [Robinhood Balances API](/docs/blockchain/robinhood/robinhood-balances-api) |
| Holder counts and distribution | `TokenHolders` | [Robinhood Token Holders API](/docs/blockchain/robinhood/robinhood-token-holders-api) |
| Circulating and total supply | `TokenSupply` | [Robinhood Token Supply API](/docs/blockchain/robinhood/robinhood-token-supply) |
| Pool depth and per-swap slippage | `DEXPools` | [Robinhood Liquidity & Slippage API](/docs/blockchain/robinhood/robinhood-liquidity) |
| Any decoded contract event | `Events` | [Robinhood Events API](/docs/blockchain/robinhood/robinhood-events-api) |
| Method calls, internal calls, traces | `Calls` | [Robinhood Calls & Traces API](/docs/blockchain/robinhood/robinhood-calls-api) |
| Raw transactions and receipts | `Transactions` | [Robinhood Transactions & Receipts API](/docs/blockchain/robinhood/robinhood-transactions-receipts-api) |
| Perp positions and funding | Perp DEX cubes | [Lighter Perp DEX API](/docs/blockchain/robinhood/lighter-perp-dex-api) |

---

## Launchpads on Robinhood Chain {#launchpads}

Robinhood Chain hosts several token launchpads. They are **not interchangeable** — each has its own factory contracts, its own event signatures, and a different relationship to the DEX it graduates into. A query written for one will silently return nothing on another.

| Launchpad | Model | Guide |
| --- | --- | --- |
| **Pons** | Real bonding curve per token, graduates into a Uniswap v4 pool behind a Pons-owned hook | [Pons API on Robinhood](/docs/blockchain/robinhood/pons-api) |
| **pools.trade** | Uniswap v4 pool from block one — no curve, no graduation event | [Pools.trade API on Robinhood](/docs/blockchain/robinhood/pools-trade-api) |
| **Flap.sh** | Bonding curve with per-token tax and progress events, graduates to a DEX | [Flap.sh API on Robinhood](/docs/blockchain/robinhood/flap-sh-api) |
| **Bags.fm** | Creator-fee launchpad | [Bags.fm API on Robinhood](/docs/blockchain/robinhood/bags-fm-api) |

For a **cross-launchpad feed** — every new token on the network regardless of which factory minted it — use the [Robinhood Meme Coin Launches API](/docs/blockchain/robinhood/robinhood-meme-coin-launches), which covers the factories above plus the smaller ones.

:::tip Choosing between a launchpad page and the cross-launchpad feed
The cross-launchpad feed answers *"what launched?"*. The per-launchpad pages answer *"what is this token doing?"* — curve trades, graduation progress, fee splits, and pool state. Most production pipelines use the feed for discovery and one launchpad page for depth.
:::

---

## Streaming

Every query on every page below can run as a WebSocket subscription — swap `query` for `subscription` and keep the same selection set. For firehose-scale workloads, use Kafka instead of WebSocket.

- [WebSocket subscriptions](/docs/subscriptions/websockets/)
- [Authorizing a WebSocket connection](/docs/authorization/websocket/)
- [Streams overview — WebSocket vs Kafka vs gRPC](/docs/streams/)

---

## Datasets and history

Robinhood Chain queries accept a `dataset` argument that decides how far back you can reach and how fresh the tail is.

- [`realtime`](/docs/graphql/dataset/realtime) — lowest latency, limited retention window
- [`archive`](/docs/graphql/dataset/archive) — full history, higher latency
- [`combined`](/docs/graphql/dataset/combined) — both, stitched
- [Data coverage and retention](/docs/graphql/data-coverage-retention) — what each window actually holds

If a query on recent data works but the same query returns nothing for older blocks, the dataset argument is almost always the reason.
16 changes: 11 additions & 5 deletions docs/blockchain/robinhood/pons-api.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Pons API — Bonding Curve Launchpad on Robinhood Chain"
title: "Pons API — How to Track Pons Launches on Robinhood Chain"
description: "Pons API: track the Pons V2 bonding-curve launchpad on Robinhood Chain with Bitquery GraphQL. Query new launches, curve trades, snipe tax, graduations, and Uniswap v4 pools."
sidebar_position: 7
keywords:
Expand Down Expand Up @@ -39,7 +39,7 @@ keywords:
- Pons pool liquidity API
---

# Pons API — Bonding Curve Launchpad on Robinhood Chain
# Pons API — How to Track Pons Launches on Robinhood Chain

**[Pons](https://www.ponsfamily.com/launchpad)** is a token launchpad on **Robinhood Chain**. Its **V2** contracts run a real **bonding curve** that graduates into a **Uniswap v4 pool behind a Pons-owned hook**, and they let a creator quote a launch in **native ETH, USDG, or a tokenized stock** such as TSLA or NVDA. This guide shows how to track **new Pons launches**, **bonding-curve trades**, **snipe tax**, **graduations**, and **post-graduation prices and liquidity** with Bitquery GraphQL APIs, using the `EVM(network: robinhood)` and `Trading` cubes.

Expand Down Expand Up @@ -103,15 +103,17 @@ Pons and [pools.trade](/docs/blockchain/robinhood/pools-trade-api) are structura
| Quote assets | ETH, USDG, tokenized stocks | Mostly native ETH |
| Curve trades in trade cubes | **Yes**, as `pons_v2` (from 2026-08-14) | N/A — all trades are pool trades |

:::caution Pons V1 is a different protocol and is still live
`PonsLaunchFactory` at `0xa5aab3f0c6eeadf30ef1d3eb997108e976351feb` is the **V1** launchpad. It is **still deploying tokens**, it has **no bonding curve** (each token gets a Uniswap V3 pool at launch), and its events have **different signatures and different topic0 values** from V2:
:::caution Pons V1 is a different protocol with different event signatures
`PonsLaunchFactory` at `0xa5aab3f0c6eeadf30ef1d3eb997108e976351feb` is the **V1** launchpad. It has **no bonding curve** each token gets a Uniswap V3 pool at launchand its events carry **different signatures and different topic0 values** from V2:

```text
db51ea9ad51ab453a65a4cb7e60c3cb378c9501bb002609f8f97778fb6c4235a TokenLaunched(address,address,address,address,address,uint256,uint256,uint256,uint256,uint256)
1461370115e1c2be79cb529f8cfcbd11316e789d9c6099fc83417b0b4c48c62a TokenDeployed(address,address,address,address,uint256,uint256)
```

Every query on this page targets **V2 only**. A "Pons launches" feed built from V2 alone silently misses all V1 activity — add the V1 factory address and its topic0s if you need both.
Every query on this page targets **V2 only**. A "Pons launches" feed built from V2 alone will not include V1 launches — add the V1 factory address and its topic0s if you need both.

V1 deployment activity varies over time and can stop entirely. Check whether it is currently producing launches before building against it — query `EVM(network: robinhood, dataset: realtime)` for logs from `0xa5aab3f0c6eeadf30ef1d3eb997108e976351feb` and see whether anything comes back. V1 pools are created by Robinhood Chain's **chain-wide Uniswap V3 pool factory**, which serves every V3 protocol on the network — a `PoolCreated` event from it is **not** on its own a Pons signal.
:::

---
Expand Down Expand Up @@ -163,6 +165,8 @@ On `archive` either one fails with `no candidate table can serve: [Log_Signature

## Contract addresses

Pons V2 runs from a fixed set of contracts. The launch factory `0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e` emits every `TokenLaunched`, `LaunchSwept`, and `PoolGraduated`; the launch router `0xe33e9e479df8802cb0866d5d05258bec4cf62948` wraps launch-and-first-buy into one transaction; and the meme hook `0xe5e702641ea86f4ae6cc3cdaed2b886f976be044` sits on every graduated Uniswap v4 pool and is the field that tells a Pons pool apart from any other v4 pool on the network. Each launched token also gets **its own bonding-curve contract**, so curve trades are matched by event signature rather than by a single address.

| Role | Address | Notes |
| --- | --- | --- |
| **Launch factory** (`PonsV2LaunchFactory`) | `0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e` | Emits `TokenLaunched`, `LaunchSwept`, `PoolGraduated` |
Expand Down Expand Up @@ -241,6 +245,8 @@ Emitter: `0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e`
| `PoolGraduated(address,uint256,uint256,uint256)` | 1 | `0a44ef75df69c534f43cd6c1aa3ef8983065fe5fe79ef9e79f6494e6f258c259` |
| `GraduationTokensPermanentlyLocked(address,uint256)` | 1 | `a0a18f5bf205becee8b268d7cf69addab8548ae8ef361791464cf0e0e17c1361` |
| `CreatorFeeRecipientUpdated(address,address,address)` | 3 | `308c390ed1ab5873392818e036cabdf408bc8ad042fbaead3108954ff75ba980` |
| `CreatorFeeRecipientChangeProposed(address,address,address,uint256,uint256)` | 3 | `7f119e44c84a715429bee60d30ad2e14afdef6c60bb1a7eaa01290ecf6d1b2e5` |
| `BuybackEnabledUpdated(address,bool,address)` | 2 | `bd886f85b7731f66269f57707414d435bf8df930d3357a10becc48a69377f6d5` |
| `LaunchForceSwept(address)` *(rare)* | 1 | `52c1a28345695afc7f6b7629133124dec5d61ee745affd65e4fd2a776bc05840` |
| `LaunchGraduationRescued(address,address,uint256,uint256)` *(rare)* | 2 | `7017304fdd491394686dce984eac721f0be1a22228346210f16694772bde44ca` |

Expand Down
1 change: 1 addition & 0 deletions docs/blockchain/robinhood/pools-trade-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ Follow the steps here: [How to generate Bitquery API token ➤](/docs/authorizat
:::tip Related docs
- [Robinhood Trades API](/docs/blockchain/robinhood/robinhood-trades)
- [Robinhood Meme Coin Launches API](/docs/blockchain/robinhood/robinhood-meme-coin-launches)
- [Pons API on Robinhood](/docs/blockchain/robinhood/pons-api) — bonding-curve launchpad, graduations, Uniswap v4 pools
- [Flap.sh API on Robinhood](/docs/blockchain/robinhood/flap-sh-api)
- [Bags.fm API on Robinhood](/docs/blockchain/robinhood/bags-fm-api)
- [Robinhood Token Holders API](/docs/blockchain/robinhood/robinhood-token-holders-api)
Expand Down
4 changes: 4 additions & 0 deletions docs/blockchain/robinhood/robinhood-meme-coin-launches.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ Follow the steps here: [How to generate Bitquery API token ➤](/docs/authorizat
:::tip Related docs
- [Robinhood Trades API](/docs/blockchain/robinhood/robinhood-trades)
- [Robinhood Transfers](/docs/blockchain/robinhood/robinhood-transfers)
- [Pons API on Robinhood](/docs/blockchain/robinhood/pons-api) — bonding-curve launchpad, graduations, Uniswap v4 pools
- [Pools.trade API on Robinhood](/docs/blockchain/robinhood/pools-trade-api)
- [Flap.sh API on Robinhood](/docs/blockchain/robinhood/flap-sh-api)
- [Bags.fm API on Robinhood](/docs/blockchain/robinhood/bags-fm-api)
- [WebSocket subscriptions](/docs/subscriptions/websockets/)
:::

Expand Down
1 change: 1 addition & 0 deletions docs/blockchain/robinhood/robinhood-token-holders-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Follow the steps here: [How to generate Bitquery API token ➤](/docs/authorizat
- [Robinhood Token Supply API](/docs/blockchain/robinhood/robinhood-token-supply/)
- [Robinhood Transfers](/docs/blockchain/robinhood/robinhood-transfers/) (live movement between holders)
- [Robinhood Trades](/docs/blockchain/robinhood/robinhood-trades/) (prices to value holdings)
- [Pons API on Robinhood](/docs/blockchain/robinhood/pons-api) (holder distribution on a bonding-curve launchpad)
:::

**On this page:** [Concepts](#cube-concepts) · [Top holders](#top-holders-of-a-token) · [Holder count](#holder-count-of-a-token) · [Whale floors](#holders-above-a-balance-floor) · [Distribution](#holder-distribution-statistics) · [Dormant holders](#dormant-holders-diamond-hands) · [Stock tokens](#tokenized-stock-holders-nvda) · [ETH rich list](#native-eth-rich-list) · [Pagination](#paginating-full-holder-snapshots) · [FAQ](#faq)
Expand Down
2 changes: 2 additions & 0 deletions docs/blockchain/robinhood/robinhood-trades.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ Follow the steps here: [How to generate Bitquery API token ➤](/docs/authorizat
- [Robinhood Liquidity & Slippage API](/docs/blockchain/robinhood/robinhood-liquidity/)
- [Robinhood Token Supply API](/docs/blockchain/robinhood/robinhood-token-supply/)
- [Robinhood Meme Coin Launches API](/docs/blockchain/robinhood/robinhood-meme-coin-launches/)
- [Pons API on Robinhood](/docs/blockchain/robinhood/pons-api) — bonding-curve launchpad, graduations, Uniswap v4 pools
- [Pools.trade API on Robinhood](/docs/blockchain/robinhood/pools-trade-api)
- [Trading data overview](/docs/trading/trading-data-overview/)
- [Crypto Trades API](/docs/trading/crypto-trades-api/trades-api/)
- [Crypto Price API](/docs/trading/crypto-price-api/introduction/)
Expand Down
Loading
Loading