New Pairs and New Pools on Robinhood Chain: Real-Time Listings API
This page builds a new pairs / new pools listings feed for Robinhood Chain, the kind of list DexScreener and GeckoTerminal show on their "new pairs" tab: every liquidity pool created today, a live stream of new liquidity pools, the first trade on a new pair, and how much each new liquidity pool traded in its first hour, grouped by DEX. For the full set of Robinhood Chain APIs start at the Robinhood Chain API overview. For trending tokens, most active liquidity pools, pair lookup and token search, see the Robinhood Chain New Pools & Trending Tokens API.
Every example runs on EVM(network: robinhood) or the Trading cube with bid:robinhood, and any query becomes a WebSocket stream by changing query to subscription.
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 ➤
Where new liquidity pools come from
A new pair on Robinhood Chain shows up as one of three events. A complete listings feed reads all three:
| Event | Emitted by | Venue |
|---|---|---|
Initialize | Uniswap v4 PoolManager 0x8366a39cc670b4001a1121b8f6a443a643e40951 | Uniswap v4 liquidity pools, including the launchpads that list into v4 (Pons graduations, Klik.finance) |
PoolCreated | Concentrated-liquidity factories, such as the Uniswap v3 factory 0x1f7d7550b1b028f7571e69a784071f0205fd2efa | Uniswap v3 style liquidity pools |
PairCreated | Constant-product factories, such as the Uniswap v2 factory 0x8bceaa40b9acdfaedf85adf4ff01f5ad6517937f | Uniswap v2 style pairs |
Bitquery parses trades on Robinhood Chain for Uniswap v2, v3 and v4, PancakeSwap v3 and Infinity, the Pons and Flap.sh bonding curves and other DEXs. Trade.Dex.ProtocolName on EVM.DEXTrades and Pair.Market.Protocol on Trading.Trades name the venue of each trade; the first-hour volume query below lists the venues active today.
Uniswap v4 keeps every liquidity pool inside the PoolManager, so all v4 pairs share one pool address. Use the v4 pool id (the id argument of Initialize, Pair.Pool.Id on trades) or Pair.Market.Id in the Trading cube to tell v4 liquidity pools apart. Market.Id is unique per liquidity pool on every venue, which makes it the safe grouping key for a new pairs list.
New liquidity pools created today
All liquidity pools created since 00:00 UTC today, newest first, from the three events above in one query. Block.Date with since_relative: {days_ago: 0} keeps the window on the current UTC day.
{
EVM(network: robinhood) {
Events(
limit: {count: 50}
orderBy: {descending: Block_Time}
where: {
Block: {Date: {since_relative: {days_ago: 0}}}
any: [
{
LogHeader: {Address: {is: "0x8366a39cc670b4001a1121b8f6a443a643e40951"}}
Log: {Signature: {Name: {is: "Initialize"}}}
}
{Log: {Signature: {Name: {in: ["PoolCreated", "PairCreated"]}}}}
]
}
) {
Block { Time Number }
Log { Signature { Name } }
LogHeader { Address }
Transaction { Hash From To }
Arguments {
Name
Value {
... on EVM_ABI_Address_Value_Arg { address }
... on EVM_ABI_BigInt_Value_Arg { bigInteger }
... on EVM_ABI_Bytes_Value_Arg { hex }
}
}
}
}
}
How to read each row:
Log.Signature.Nametells you the venue type, andLogHeader.Addressis the PoolManager or the factory that created the liquidity pool.Initializereturnsid(the v4 pool id),currency0,currency1,fee,tickSpacing,hooks,sqrtPriceX96andtick. Acurrency0of0x000…000is native ETH.PoolCreatedreturnstoken0,token1,fee,tickSpacingand the newpooladdress.PairCreatedreturnstoken0,token1and the newpairaddress.Transaction.Tois the contract the creator called. For launchpad listings this is the launchpad, which is how you attribute a new pair to Klik.finance, Pons or another launch contract.
The v4 Initialize filter is pinned to the PoolManager on purpose: every Uniswap v3 style liquidity pool also emits its own Initialize when it is first priced, and those rows would repeat the PoolCreated rows.
New liquidity pools live stream
The same filter as a WebSocket subscription. Each new Uniswap v4, v3 or v2 liquidity pool is pushed as soon as its block is indexed, with no polling.
subscription {
EVM(network: robinhood) {
Events(
where: {
any: [
{
LogHeader: {Address: {is: "0x8366a39cc670b4001a1121b8f6a443a643e40951"}}
Log: {Signature: {Name: {is: "Initialize"}}}
}
{Log: {Signature: {Name: {in: ["PoolCreated", "PairCreated"]}}}}
]
}
) {
Block { Time Number }
Log { Signature { Name } }
LogHeader { Address }
Transaction { Hash From To }
Arguments {
Name
Value {
... on EVM_ABI_Address_Value_Arg { address }
... on EVM_ABI_BigInt_Value_Arg { bigInteger }
... on EVM_ABI_Bytes_Value_Arg { hex }
}
}
}
}
}
To keep only the v4 liquidity pools of one launchpad, add an Arguments filter on the hooks argument, as shown on the New Pools & Trending Tokens API page.
First trade of a new pair
Launchpads that list and buy in one call give you the first trade of a pair in the same transaction that creates it. The Pons PonsV2LaunchAndBuy router at 0xe33e9e479df8802cb0866d5d05258bec4cf62948 deploys the token, opens its bonding-curve liquidity pool and executes the creator's first buy in one transaction. Every trade whose transaction was sent to that router is therefore the first trade on a brand-new pair.
This subscription streams those first trades from the Trading cube, with USD price, trade size and market cap already attached:
subscription {
Trading {
Trades(
where: {
Pair: {Market: {NetworkBid: {is: "bid:robinhood"}}}
TransactionHeader: {To: {is: "0xe33e9e479df8802cb0866d5d05258bec4cf62948"}}
}
) {
Block { Time }
Pair {
Token { Name Symbol Address }
QuoteToken { Symbol Address }
Market { Protocol Id }
Pool { Address Id }
}
Side
Price
PriceInUsd
Amounts { Base Quote }
AmountsInUsd { Base }
Supply { MarketCap }
Trader { Address }
TransactionHeader { Hash }
}
}
}
Trader.Address is the creator, AmountsInUsd.Base is the size of the opening buy, and Supply.MarketCap is the market cap the pair opened at. Pair.Market.Id identifies the new liquidity pool; pass it to a Trading.Trades filter on Pair: {Market: {Id: {is: "..."}}} to follow every trade that comes after. For more on Pons launches, see the Pons Launchpad API.
New liquidity pools by DEX with volume in the first hour
This is the "new pairs" table: liquidity pools that made their first trade in the last hour, with the DEX, the pair, trade count, unique traders and USD volume. Rows are grouped by Pair.Market.Id, so each Uniswap v4 liquidity pool is its own row even though all v4 pairs share the PoolManager address.
The query looks back 24 hours and keeps only the liquidity pools with no trade before the last hour (earlier_trades with selectWhere: {eq: "0"}). Every remaining liquidity pool is less than an hour old, so its volume_usd is its first-hour volume.
{
Trading {
Trades(
limit: {count: 20}
orderBy: {descendingByField: "volume_usd"}
where: {
Pair: {Market: {NetworkBid: {is: "bid:robinhood"}}}
Block: {Time: {since_relative: {hours_ago: 24}}}
}
) {
Pair {
Market { Protocol Id }
Token { Symbol Address }
QuoteToken { Symbol }
}
Block {
first_trade: Time(minimum: Block_Time)
}
earlier_trades: count(if: {Block: {Time: {till_relative: {hours_ago: 1}}}}, selectWhere: {eq: "0"})
trades: count
traders: uniq(of: Trader_Address)
volume_usd: sum(of: AmountsInUsd_Base)
}
}
}
Pair.Market.Protocolis the DEX (uniswap_v4,uniswap_v3,pons_v2,flap_v5and so on). To list one DEX only, addProtocol: {is: "uniswap_v3"}next toNetworkBid.first_tradeis the listing time of each liquidity pool.- Sort by
"traders"instead of"volume_usd"to rank new pairs by how many wallets traded them, which is harder to inflate than USD volume.
Klik.finance launchpad launches
Klik.finance launches a token and opens its Uniswap v4 liquidity pool in one transaction sent to the Klik.finance contract 0x16cf6788b762ee8969744586ed16fc5705140dd7. The launch emits ERC20TokenCreated from that contract and Initialize from the PoolManager, and the token then trades as a uniswap_v4 pair.
This query lists the liquidity pools created by Klik.finance launches over the last three days, with the v4 pool id, the pair (currency0 is native ETH) and the Klik.finance hook:
{
EVM(network: robinhood) {
Events(
limit: {count: 25}
orderBy: {descending: Block_Time}
where: {
Block: {Time: {since_relative: {days_ago: 3}}}
Transaction: {To: {is: "0x16cf6788b762ee8969744586ed16fc5705140dd7"}}
LogHeader: {Address: {is: "0x8366a39cc670b4001a1121b8f6a443a643e40951"}}
Log: {Signature: {Name: {is: "Initialize"}}}
}
) {
Block { Time Number }
Transaction { Hash From }
Arguments {
Name
Value {
... on EVM_ABI_Address_Value_Arg { address }
... on EVM_ABI_BigInt_Value_Arg { bigInteger }
... on EVM_ABI_Bytes_Value_Arg { hex }
}
}
}
}
}
currency1 is the new token, Transaction.From is the wallet that launched it, and id is the v4 pool id: add the 0x prefix and filter Trading.Trades on Pair: {Pool: {Id: {is: "0x..."}}} to get its trades and USD prices. For Klik.finance token mints, see the Klik Finance section of the Meme Coin Launches API.
Datasets
| Data | Cube | Window |
|---|---|---|
New liquidity pools (Initialize, PoolCreated, PairCreated) | EVM.Events | realtime holds the most recent days; add dataset: combined with a time filter for older listings |
| First trades and first-hour volume | Trading.Trades | Real time plus roughly the last 30 days; no dataset argument |
See data coverage and retention for details.
Video Tutorial | Most Traded Robinhood Chain Meme Coins This Week, and Who Is Really Trading Them
Related pages
- Robinhood Chain API overview — every Robinhood Chain API in one place
- Robinhood Chain New Pools & Trending Tokens API — trending tokens, most active liquidity pools, pair lookup and token search
- Robinhood Meme Coin Launches API — new tokens by launchpad
- Robinhood Chain DEX Trades API — prices, OHLCV, market cap and top traders
- Robinhood Liquidity & Slippage API — liquidity pool reserves, TVL and price impact
- WebSocket subscriptions — run any query as a stream
Ready to run this in production?
Get an API key and run these queries in minutes, or talk to us about plans and enterprise delivery.