Robinhood Meme Coin Launches API
Track meme coin token launches on Robinhood with Bitquery GraphQL APIs. This guide shows how to detect newly created tokens from popular Robinhood launchpads and bots — hood.fun, LaunchHood, Virtuals, Flap.sh, Klik Finance, Doppler (the Airlock that Bankr and other front-ends launch through), Ape.store, Bags.fm, and Clanker — using EVM(network: robinhood) Events and Transfers cubes.
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 ➤
- Robinhood New Pools & Trending Tokens API — new pools, trending tokens, pair lookup and token search
- Robinhood Chain API overview — every Robinhood Chain API, launchpad guide and stream in one place
- Robinhood Trades API
- Robinhood Transfers
- Pons Launchpad API on Robinhood Chain — bonding-curve launchpad, graduations, Uniswap v4 pools
- Pools.trade API on Robinhood
- Flap.sh API on Robinhood
- trench.today API on Robinhood
- Bags.fm API on Robinhood
- WebSocket subscriptions
For each launch query below, open the matching WebSocket IDE link to run it as a real-time GraphQL subscription over WebSocket. You can also convert a query to a stream in the IDE by changing the operation type to subscription.
▶️ Cross-launchpad stream: New tokens on Robinhood Chain, all launchpads
How token launches are detected
Most Robinhood meme launch contracts mint tokens in a create transaction. You can detect those launches in two ways:
| Method | Cube | Pattern |
|---|---|---|
| Events | EVM.Events | Filter LogHeader.Address to the launch contract; for Flap.sh, also filter Log.Signature.Name: TokenCreated |
| Transfers | EVM.Transfers | Mint from the zero address (0x000…000) to a receiver, with Transaction.To equal to the launch contract and a fixed launch mint Amount |
Zero-address sender (0x0000000000000000000000000000000000000000) marks a mint. Pairing that with the launchpad contract as Transaction.To scopes results to that protocol’s creations.
The fixed Amount in each transfer query is the full initial token supply minted at launch — 1000000000 (1 billion) for most launchpads and 100000000000 (100 billion) for Clanker. Filtering on this value isolates the launch mint from ordinary transfers, so adjust it if a protocol uses a different launch supply.
Bitquery's Transfer.Amount is already adjusted for the token's Decimals, so 1000000000 means 1 billion whole tokens — not the raw on-chain integer you'd see on a block explorer. Compare against the normalized value, not the raw one.
AmountInUSD is 0 on launch mintsOn Robinhood, Transfer.AmountInUSD is populated only for native ETH transfers. A freshly minted token has no price, so every launch-mint row below shows "AmountInUSD": "0"; it is selected for consistency with other transfer queries, not because it carries a value here.
Flap.sh emits a decoded TokenCreated event, so it can be tracked via Events (richer, with decoded arguments) as well as transfers. The other launchpads and bots on this page are tracked via the mint-transfer pattern.
Stream launches as they happen
Launches are the case where polling is worst: a query tells you what already launched, and by the time you re-run it the opportunity has moved. The same mint-transfer filter works as a subscription, so you get each launch pushed at block time.
subscription NewRobinhoodLaunches {
EVM(network: robinhood) {
Transfers(
where: {
Transfer: { Sender: { is: "0x0000000000000000000000000000000000000000" } }
}
) {
Block {
Time
}
Transaction {
Hash
To
}
Transfer {
Receiver
Amount
Currency {
Name
Symbol
SmartContract
Decimals
}
}
}
}
}
This streams every mint on the chain. Narrow it the same way the queries below do — add Transaction: { To: { is: "<launchpad address>" } } for one launchpad, and the launch-mint Amount if you want only the initial supply mint rather than every subsequent mint.
dataset: to a subscriptionSubscriptions always read the live stream. The dataset: combined tip above applies to queries reaching backwards, not to streams.
These queries default to the realtime dataset — a rolling window of recent blocks whose depth varies. Launchpads with sparse recent activity can return few or no rows. To reach further back, add dataset: combined (or archive) on the EVM root plus a time filter — e.g. EVM(network: robinhood, dataset: combined) with Block: {Time: {since_relative: {days_ago: 7}}}.
Launchpad and bot contract map
Every transfer query on this page is identical except two values: the launchpad address in Transaction.To and the launch-mint Amount. To track a different launchpad, copy any transfer query below and swap in the address (and, for Clanker, the amount) from this table.
| Protocol | Contract → Transaction.To | Mint Amount | Queries |
|---|---|---|---|
| hood.fun | 0x5fcc1df0dc020cf454e742e9a8ae2554c37a452c | 1000000000 | Transfers (WS) |
| LaunchHood | 0x62b33a039d289cbda50ebeb72fe4261449e61bcf | 1000000000 | Transfers (WS) |
| Virtuals | 0xd4ccbfa37e2f35611b3042e4096ad7a3459bd007 | any (no fixed supply) | Transfers |
| Flap.sh | 0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09 | 1000000000 | Events · TokenCreated (WS) · Transfers (WS) |
| Klik Finance | 0x16cf6788b762ee8969744586ed16fc5705140dd7 | 1000000000 | Transfers (WS) |
| Doppler Airlock (Bankr, Long.xyz and other front-ends) | 0xeb7c034704ef8dcd2d32324c1545f62fb4ad0862 (Airlock) · 0x22e99278308b393ea1260859b181ad7e78f5eeed (launcher most front-ends call) | 1000000000 | Transfers (WS) |
| Ape.store | 0x6e4910ea5a04376032f6564da9a9e4e88b7a87c1 | 1000000000 | Transfers (WS) |
| Bags.fm | 0xe8cc4431adf8b5a847c113ef0c6af9043219cb37 | 1000000000 | Transfers (WS) |
| Clanker | 0xd3f2cc1731b7fd17f28798835c2e02f0a1839a94 | 100000000000 | Transfers (WS) |
| Pons V2 | 0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e (factory) · 0xe33e9e479df8802cb0866d5d05258bec4cf62948 (router) | 1000000000 | Pons Launchpad API |
| pools.trade | 0x0000ffffbe8efe702c8703ae3477ff5de3d319c0 · 0x00004c4ccc709ef590f7c81102c0689f0263d4e9 (entry contracts) | 1000000000 | Pools.trade API |
| trench.today | 0x77dc6f6361b7b99456fc3761ce5b7dda80d83f9d (factory proxy) | see guide | trench.today API |
WS = WebSocket subscription (real-time stream of the same query).
Compare launchpad activity
One query across every launchpad: count zero-address mints per launch contract over a window (Transaction.To in the contract-map list) and group by contract. tokens counts distinct minted token contracts. This matches mints of any amount — Clanker's different launch supply included — so treat it as an activity overview rather than an exact per-protocol launch count.
{
EVM(network: robinhood, dataset: combined) {
Transfers(
limit: { count: 10 }
orderBy: { descendingByField: "launches" }
where: {
Block: { Time: { since_relative: { days_ago: 7 } } }
Transfer: { Sender: { is: "0x0000000000000000000000000000000000000000" } }
Transaction: {
To: {
in: [
"0x5fcc1df0dc020cf454e742e9a8ae2554c37a452c"
"0x62b33a039d289cbda50ebeb72fe4261449e61bcf"
"0xd4ccbfa37e2f35611b3042e4096ad7a3459bd007"
"0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09"
"0x16cf6788b762ee8969744586ed16fc5705140dd7"
"0xeb7c034704ef8dcd2d32324c1545f62fb4ad0862"
"0x6e4910ea5a04376032f6564da9a9e4e88b7a87c1"
"0xe8cc4431adf8b5a847c113ef0c6af9043219cb37"
"0xd3f2cc1731b7fd17f28798835c2e02f0a1839a94"
]
}
}
}
) {
Transaction {
To
}
launches: count
tokens: uniq(of: Transfer_Currency_SmartContract)
}
}
}
Launches per day for one launchpad
Bucket a launchpad's mints into daily counts — a launch-rate series (example: Flap.sh).
{
EVM(network: robinhood, dataset: combined) {
Transfers(
limit: { count: 7 }
orderBy: { descendingByField: "Block_Time" }
where: {
Block: { Time: { since_relative: { days_ago: 7 } } }
Transfer: { Sender: { is: "0x0000000000000000000000000000000000000000" } }
Transaction: { To: { is: "0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09" } }
}
) {
Block {
Time(interval: { in: days, count: 1 })
}
launches: count
}
}
}
hood.fun
hood.fun was one of the first fair-launch memecoin launchpads on the Robinhood network. Every token launches with a fixed 1 billion supply on a bonding curve, so newly created tokens can be detected as mint transfers from the zero address where Transaction.To is the hood.fun contract.
The current hood.fun launch contract is 0x5fcc1df0dc020cf454e742e9a8ae2554c37a452c. The previous generation, 0x6a63d96ef77ae569fcb85934cf1bd1ec7fe9b33d, still has tokens trading — swap the address in Transaction.To to query it. Older generations' launch history sits outside the realtime window, so query them with dataset: combined or archive.
hood.fun Newly created tokens
hood.fun has produced no launch since mid-July 2026, so on the default realtime dataset this query returns nothing. It is pinned to dataset: archive below to return the historical launches; re-check realtime before assuming the launchpad is gone for good.
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood, dataset: archive) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {is: "0x5fcc1df0dc020cf454e742e9a8ae2554c37a452c"}}
Transfer: {
Amount: {eq: "1000000000"}
Sender: {is: "0x0000000000000000000000000000000000000000"}
}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
LaunchHood
LaunchHood is a memecoin launchpad on the Robinhood network where every coin lists directly on Uniswap at creation, with a fixed 1 billion supply. Detect new LaunchHood tokens as mint transfers from the zero address where Transaction.To is the LaunchHood factory contract.
LaunchHood Newly created tokens
LaunchHood has produced no launch since mid-August 2026, so on the default realtime dataset this query returns nothing. It is pinned to dataset: archive below to return the historical launches.
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood, dataset: archive) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {is: "0x62b33a039d289cbda50ebeb72fe4261449e61bcf"}}
Transfer: {
Amount: {eq: "1000000000"}
Sender: {is: "0x0000000000000000000000000000000000000000"}
}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
Virtuals
Virtuals Protocol launches on Robinhood can be detected as mint transfers from the zero address where Transaction.To is the Virtuals contract. Unlike the other launchpads on this page, Virtuals tokens don't use a fixed launch supply, so this query omits the Transfer.Amount filter and matches on the zero-address mint alone.
Virtuals Newly created tokens
▶️ Run in IDE
{
EVM(network: robinhood) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {is: "0xd4ccbfa37e2f35611b3042e4096ad7a3459bd007"}}
Transfer: {Sender: {is: "0x0000000000000000000000000000000000000000"}}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
Flap.sh
Flap.sh launches on Robinhood can be monitored via contract events and mint transfers.
All events from Flap.sh
List event signatures emitted by the Flap.sh contract to discover which logs are available for indexing.
▶️ Run in IDE
{
EVM(network: robinhood) {
Events(
limit: {count: 100}
where: {LogHeader: {Address: {is: "0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09"}}}
) {
count
Log {
Signature {
Name
}
SmartContract
}
}
}
}
Flap.sh Newly created tokens using logs (TokenCreated)
Filter Flap.sh TokenCreated events and decode argument values (token address, metadata fields, and related parameters).
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood) {
Events(
limit: {count: 10}
where: {
Log: {Signature: {Name: {is: "TokenCreated"}}}
LogHeader: {Address: {is: "0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09"}}
}
) {
Transaction {
Hash
From
To
}
Log {
Signature {
Name
}
SmartContract
}
Arguments {
Name
Value {
... on EVM_ABI_Integer_Value_Arg {
integer
}
... on EVM_ABI_String_Value_Arg {
string
}
... on EVM_ABI_Address_Value_Arg {
address
}
... on EVM_ABI_BigInt_Value_Arg {
bigInteger
}
... on EVM_ABI_Bytes_Value_Arg {
hex
}
... on EVM_ABI_Boolean_Value_Arg {
bool
}
}
}
}
}
}
Flap.sh Newly created tokens using transfer data
Track Flap.sh mints as transfers from the zero address with amount 1000000000 in transactions sent to the Flap.sh contract.
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {is: "0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09"}}
Transfer: {
Amount: {eq: "1000000000"}
Sender: {is: "0x0000000000000000000000000000000000000000"}
}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
Sample response
Each row is one newly launched token. Transfer.Sender is the zero address (the mint), Transfer.Receiver is the deployer/first holder, and Currency.SmartContract is the new token address.
{
"EVM": {
"Transfers": [
{
"Block": { "Number": "12873456", "Time": "2026-07-15T11:42:08Z" },
"Transaction": {
"Hash": "0x9f2c...a41b",
"From": "0x39d83c23dbf34fa574b9afbb0c0e364bdfd97099",
"To": "0x26605f322f7ff986f381bb9a6e3f5dab0beaeb09"
},
"TransactionStatus": { "Success": true },
"Transfer": {
"Amount": "1000000000",
"AmountInUSD": "0",
"Sender": "0x0000000000000000000000000000000000000000",
"Receiver": "0x39d83c23dbf34fa574b9afbb0c0e364bdfd97099",
"Currency": {
"Name": "Example Meme",
"Symbol": "MEME",
"SmartContract": "0x9077841e155faaf4e4e89470822c2187eeef7777",
"Decimals": 18,
"Fungible": true,
"Native": false,
"ProtocolName": ""
}
}
}
]
}
}
Klik Finance
Detect Klik Finance token launches on Robinhood by filtering mint transfers where Transaction.To is the Klik Finance contract.
Klik Finance Newly created tokens using transfers
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {is: "0x16cf6788b762ee8969744586ed16fc5705140dd7"}}
Transfer: {
Amount: {eq: "1000000000"}
Sender: {is: "0x0000000000000000000000000000000000000000"}
}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
Doppler Airlock
0xeb7c034704ef8dcd2d32324c1545f62fb4ad0862 is the Doppler Airlock, the launch contract behind Bankr, Long.xyz and other front-ends on Robinhood Chain, and one of the largest launch sources on the network. Its source is verified on the chain explorer under the contract name Airlock. It emits Create for every launch and Migrate when a token moves to its final pool.
| Role | Address | Notes |
|---|---|---|
| Airlock (launch contract) | 0xeb7c034704ef8dcd2d32324c1545f62fb4ad0862 | Emits Create, Migrate, Collect |
| Doppler hook / initializer | 0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544 | Verified as DopplerHookInitializer. It is both the initializer named in every Create and the hooks address on the resulting Uniswap v4 pool, which makes it the filter for finding those pools |
| LongLauncher (front-end launcher) | 0x22e99278308b393ea1260859b181ad7e78f5eeed | Verified as LongLauncher. Most launches are routed through it rather than sent to the Airlock directly |
Because most launches arrive through the launcher, filter Transaction.To on both the Airlock and the launcher; a filter on the Airlock alone misses the majority. Attribute a launch to a front-end by the launcher contract it came through, not by this page's label.
Create event's argument names are wrong — read by positionThe Airlock is indexed with the wrong ABI, so Arguments.Name returns names from an unrelated contract. The verified source declares:
event Create(address asset, address indexed numeraire, address initializer, address poolOrHook);
Until the ABI is corrected, map the arguments by Arguments.Index:
Arguments.Index | Name the API returns | What it actually is |
|---|---|---|
0 | caller | numeraire — the quote asset the token launched against (USDG, GLD, NVDA and other tokenized stocks) |
1 | token0 | asset — the newly launched token |
2 | token1 | initializer — always 0x4e346895…, the DopplerHookInitializer |
3 | optionPair | poolOrHook — duplicates the asset on every launch checked (120 of 120, and LongLauncher reports the same pair of values in its own event). The pool's actual hook is a separate contract, below |
The raw log confirms the shape: two topics (the signature plus one indexed argument) and three data words, so index 0 is the indexed numeraire from topic1 and indexes 1–3 are the data words in order.
One more trap: an Arguments: {includes: {Value: {Address: …}}} filter matches an address in any position, so on its own it cannot prove a token was launched here — it also matches when your address was merely the quote asset. Tokenized stocks are common numeraires, so a popular one shows up against hundreds of launches it did not produce.
Finding a Doppler token's Uniswap v4 pool
Every Doppler launch opens a Uniswap v4 pool with a consistent shape: the numeraire is currency0, the asset is currency1, hooks is always the DopplerHookInitializer, and fee is 8388608 — Uniswap v4's dynamic-fee flag rather than a fixed rate. That makes the hook a clean filter for every Doppler pool on the chain:
{
EVM(network: robinhood, dataset: combined) {
Events(
limit: {count: 25}
orderBy: {descending: Block_Time}
where: {
LogHeader: {Address: {is: "0x8366a39cc670b4001a1121b8f6a443a643e40951"}}
Log: {Signature: {Name: {is: "Initialize"}}}
Arguments: {includes: {
Name: {is: "hooks"}
Value: {Address: {is: "0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544"}}
}}
}
) {
Block { Time }
Transaction { Hash }
Arguments {
Name
Value {
... on EVM_ABI_Address_Value_Arg { address }
... on EVM_ABI_BigInt_Value_Arg { bigInteger }
... on EVM_ABI_Bytes_Value_Arg { hex }
}
}
}
}
}
The id argument is the v4 pool id, which the New Pools & Trending Tokens API uses to look a v4 pair up — v4 pools share one contract address, so the id is the only per-pool handle.
LaunchCreated is richer, but not yet decodedLongLauncher emits LaunchCreated(poolOrHook, asset, numeraire, poolInitializer, launcher, tickerKey, deployedAt, reservedUntil, normalizedTicker), which carries the ticker string the Airlock's Create does not. That event is not decoded in the index today — it appears only under its topic0 adc6f1f726f7c710… with no argument names. Until it is decoded, use the Airlock's Create, or match the topic0 and decode the payload client-side.
Doppler newly created tokens
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {in: ["0xeb7c034704ef8dcd2d32324c1545f62fb4ad0862", "0x22e99278308b393ea1260859b181ad7e78f5eeed"]}}
Transfer: {
Amount: {eq: "1000000000"}
Sender: {is: "0x0000000000000000000000000000000000000000"}
}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
Ape.store
Monitor Ape.store meme coin launches on Robinhood with the same mint-transfer pattern.
Ape.store Newly created tokens
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {is: "0x6e4910ea5a04376032f6564da9a9e4e88b7a87c1"}}
Transfer: {
Amount: {eq: "1000000000"}
Sender: {is: "0x0000000000000000000000000000000000000000"}
}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
Bags.fm
Query Bags.fm newly created tokens on Robinhood by mint amount and Bags.fm contract address.
Bags.fm Newly created tokens
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {is: "0xe8cc4431adf8b5a847c113ef0c6af9043219cb37"}}
Transfer: {
Amount: {eq: "1000000000"}
Sender: {is: "0x0000000000000000000000000000000000000000"}
}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
Clanker
Track Clanker token launches on Robinhood. Clanker mints use amount 100000000000 (different from the 1000000000 used by the other launchpads above).
Clanker Newly created tokens
▶️ Run in IDE · WebSocket stream
{
EVM(network: robinhood) {
Transfers(
orderBy: {descending: Block_Time}
limit: {count: 50}
where: {
Transaction: {To: {is: "0xd3f2cc1731b7fd17f28798835c2e02f0a1839a94"}}
Transfer: {
Amount: {eq: "100000000000"}
Sender: {is: "0x0000000000000000000000000000000000000000"}
}
}
) {
Block {
Time
Number
}
Transaction {
Hash
From
To
}
TransactionStatus {
Success
}
Transfer {
Amount
AmountInUSD
Sender
Receiver
Currency {
Name
Symbol
SmartContract
Decimals
Fungible
Native
ProtocolName
}
}
}
}
}
FAQ
How do I track new Robinhood meme coin launches in real time?
Open any WebSocket link in the contract map above, or take a launch query on this page and change its operation type from a query to a subscription in the Bitquery IDE. Each new launch is then pushed to your client as it is mined.
Which launchpads and bots does this page cover?
Virtuals, Flap.sh, Klik Finance, the Doppler Airlock (Bankr and other front-ends), Ape.store, Bags.fm, and Clanker on the Robinhood network, plus hood.fun and LaunchHood for history. Pons, pools.trade and trench.today have their own guides. Each has its own contract address and mint amount listed in the contract map.
How do I track a launchpad that isn't listed here?
Copy any transfer query on this page and replace the address in Transaction.To with the launchpad's contract. Keep the Transfer.Sender zero-address filter (it isolates mints) and set Transfer.Amount to that launchpad's initial mint supply.
Why do the queries filter transfers by a fixed Amount?
The Amount is the full initial token supply minted at launch (1000000000 for most launchpads, 100000000000 for Clanker). Combined with the zero-address sender, it isolates the launch mint from ordinary transfers. Transfer.Amount is already decimal-normalized, so compare against the whole-token value, not the raw on-chain integer.
How do I compare launch activity across launchpads?
Use the cross-launchpad query: filter zero-address mints where Transaction.To is in the contract-map list, group by Transaction.To, and count. Add dataset: combined and a Block.Time window for full coverage.
Should I use the Events or Transfers method?
Use Events when a launchpad emits a decoded creation event (like Flap.sh's TokenCreated) and you want the decoded arguments. Use Transfers — the mint-transfer pattern — for launchpads that don't expose a convenient event, which covers every protocol on this page.
Next steps
- Use the WebSocket stream links above (or switch the query to
subscriptionin the IDE) for real-time launch alerts. - Track a launchpad not listed here by swapping
Transaction.ToandAmountper the contract map. - Follow new tokens into markets with the Robinhood Trades API.
- Inspect holder and wallet flows with Robinhood Transfers.
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.