Get every trade of a Robinhood Chain token (trade tape)
Get every buy and sell of a Robinhood Chain token with USD value, price, gas, tax and the real trader behind routers and smart wallets. Real examples, no key.
Call GET /v1/robinhood/token/{address}/trades. Trades come newest first, each with type (buy or sell), amount_base, amount_quote, value_usd, price_usd, pool, dex, gas and token tax under fees, its finality, and the trader whose balance changed, with the router (via), executor and signer reported separately. Filter by side, trader, min_usd, from_ts/to_ts and app; page with cursor. Anonymous plan, 2 credits per call with a key.
The trade tape is a token’s list of swaps, newest first: every buy and sell on Uniswap v2, v3, v4 and the launchpad curves, as it happened on Robinhood Chain. What makes it more useful than raw swap logs is attribution. On chain, the address that calls a pool is usually a router, an aggregator, a relayer or an ERC-4337 bundler. Crius reports the wallet whose balance actually changed as the trader, and lists the infrastructure separately, so trade counts, PnL and copy-trading use real people.
Get the latest trades in one call
WETH's latest trades: a relayer, a router and an aggregator
What are the latest trades of WETH (0x0bd7d308f8e1639fab988df18a8011f41eacad73) on Robinhood Chain?
curl "https://api.crius.sh/v1/robinhood/token/0x0bd7d308f8e1639fab988df18a8011f41eacad73/trades?limit=3"const res = await fetch("https://api.crius.sh/v1/robinhood/token/0x0bd7d308f8e1639fab988df18a8011f41eacad73/trades?limit=3");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/token/0x0bd7d308f8e1639fab988df18a8011f41eacad73/trades?limit=3",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 144 lines (arrays trimmed)
{ "data": [ { "amount_base": 0.241346083005198446, "amount_quote": 569.019791, "block": 100406784, "dex": "uniswap_v3", "eth_usd_at_trade": 2356.9, "executor": null, "fees": { "gas": { "gas_price_gwei": 0.021, "gas_used": 239930, "gas_used_l1": 0, "l1_eth": 0, "l2_eth": 0.00000503853, "total_eth": 0.00000503853, "usd": 0.0118753 }, "token_tax": { "pct": null } }, "finality": "latest", "id": "100406784-6-44", "market_cap_usd_at_trade": 90494155, "pool": "0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca", "price_eth": 1.00034, "price_usd": 2357.69, "quote": "0x5fc5360d0400a0fd4f2af552add042d716f1d168", "quote_symbol": "USDG", "signer": "0xe950337f36e45c316c53c69a5f285487b54f0bad", "signer_label": null, "trader": "0xe950337f36e45c316c53c69a5f285487b54f0bad", "trader_app": null, "trader_label": "fomo_relayer_3", "ts": 1793225076000, "tx": "0x5b474612139f91cb226cf9e5097244dbb896a86834d8adbd263641c96d67b9f7", "tx_index": 6, "type": "buy", "value_eth": 0.241428, "value_usd": 569.02, "via": [] }, { "amount_base": 0.021222351350879784, "amount_quote": 50.025498, "block": 100406784, "dex": "uniswap_v3", "eth_usd_at_trade": 2356.9, "executor": null, "fees": { "gas": { "gas_price_gwei": 0.021, "gas_used": 455557, "gas_used_l1": 0, "l1_eth": 0, "l2_eth": 0.0000095667, "total_eth": 0.0000095667, "usd": 0.0225477 }, "token_tax": { "pct": null } }, "finality": "latest", "id": "100406784-1-12", "market_cap_usd_at_trade": 90475571, "pool": "0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca", "price_eth": 1.00013, "price_usd": 2357.21, "quote": "0x5fc5360d0400a0fd4f2af552add042d716f1d168", "quote_symbol": "USDG", "signer": "0x800539138ff0510191277f6b5c58fb94ae700064", "signer_label": null, "trader": "0x800539138ff0510191277f6b5c58fb94ae700064", "trader_app": null, "trader_label": null, "ts": 1793225076000, "tx": "0x0bde8abf03edce0f2ba13a3398ec2575b177c3f2d85eef77c25c7899a9949311", "tx_index": 1, "type": "sell", "value_eth": 0.0212252, "value_usd": 50.0255, "via": [ "uniswap_universal_router" ] }, { "amount_base": 0.011210844980975568, "amount_quote": 26.431588, "block": 100406782, "dex": "uniswap_v3", "eth_usd_at_trade": 2356.9, "executor": null, "fees": { "gas": { "gas_price_gwei": 0.020904, "gas_used": 315171, "gas_used_l1": 0, "l1_eth": 0, "l2_eth": 0.00000658833, "total_eth": 0.00000658833, "usd": 0.015528 }, "token_tax": { "pct": null } }, "finality": "latest", "id": "100406782-10-32", "market_cap_usd_at_trade": 90493695, "pool": "0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca", "price_eth": 1.00033, "price_usd": 2357.68, "quote": "0x5fc5360d0400a0fd4f2af552add042d716f1d168", "quote_symbol": "USDG", "signer": "0x8a2a3d6fcefd9427ac46b07c91d21207aaa0e168", "signer_label": null, "trader": "0x8a2a3d6fcefd9427ac46b07c91d21207aaa0e168", "trader_app": null, "trader_label": null, "ts": 1793225076000, "tx": "0xa3a9ddaaa96d7cc4d300eb5ae37d174755cee56aec3e5e15ae7c3adf437a113b", "tx_index": 10, "type": "buy", "value_eth": 0.0112146, "value_usd": 26.4316, "via": [ "gmgn_swap_router" ] } ], "meta": { "block": 100406789, "block_age_ms": 367, "block_ts": 1793225077000, "chain": "robinhood", "finalized_block": 100397649, "lag_ms": 7, "next_cursor": "100406782-32", "safe_block": 100401329 }}What this tells you
- The newest trade is a
buyof 0.241346083005198446 WETH for 569.019791 USDG (value_usd: 569.02,price_usd: 2357.69) in the Uniswap v3 pool0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca. Its trader hastrader_label: "fomo_relayer_3". - The second, a $50.0255 sell, went through
via: ["uniswap_universal_router"], and the third, a $26.4316 buy, throughvia: ["gmgn_swap_router"]. In both,traderis the wallet that signed. - Gas is tiny:
fees.gas.usdis 0.0118753 for the first trade (239,930 gas at 0.021 gwei), andl1_eth: 0. fees.token_tax.pctisnull(no tax measured on these trades),executorisnull(each trader sent its own transaction) andfinalityislatest: the trades are confirmed by the sequencer but not yet posted to Ethereum.market_cap_usd_at_trade: 90494155andeth_usd_at_trade: 2356.9freeze the context of each trade.
Large sells of a meme token, made from smart wallets
Who sold $500 or more of sockets (0xddccd4690cc99cf19d2e0bdbcb390d17e913958a), and through what?
curl "https://api.crius.sh/v1/robinhood/token/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a/trades?side=sell&min_usd=500&limit=3"const res = await fetch("https://api.crius.sh/v1/robinhood/token/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a/trades?side=sell&min_usd=500&limit=3");const { data, meta } = await res.json();import requests
r = requests.get( "https://api.crius.sh/v1/robinhood/token/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a/trades?side=sell&min_usd=500&limit=3",)body = r.json()print(body["data"])Real response 200 Captured Oct 28, 2026 · 146 lines (arrays trimmed)
{ "data": [ { "amount_base": 27042336.484925271015012074, "amount_quote": 0.424551321259576653, "block": 100407338, "dex": "uniswap_v4", "eth_usd_at_trade": 2355.49, "executor": "0x4337fa4d86d4b6a2634900effb713bf6fb685835", "fees": { "gas": { "gas_price_gwei": 0.02645, "gas_used": 683901, "gas_used_l1": 0, "l1_eth": 0, "l2_eth": 0.0000180892, "total_eth": 0.0000180892, "usd": 0.0426089 }, "token_tax": { "pct": 0 } }, "finality": "latest", "id": "100407338-6-25", "market_cap_usd_at_trade": 36980.1, "pool": "0xe1cb1474a4c240a1e0bca5fb5c56f04a7d90789891fb59b68a142ca4071404e1", "price_eth": 0.0000000156995, "price_usd": 0.0000369801, "quote": "0x0000000000000000000000000000000000000000", "quote_symbol": "ETH", "signer": "0x4337fa4d86d4b6a2634900effb713bf6fb685835", "signer_label": null, "trader": "0xa4109b8d391723d8f6bcfc5d75e6996f61062f76", "trader_app": "fomo", "trader_label": null, "ts": 1793225136000, "tx": "0x8e45c6a46af96d27e33af204debb6989bab832e71e6648088d9b0735c07c8c25", "tx_index": 6, "type": "sell", "value_eth": 0.424551, "value_usd": 1000.03, "via": [ "erc4337_entrypoint" ] }, { "amount_base": 24863647.628256999490426667, "amount_quote": 0.807194970469008325, "block": 100393824, "dex": "uniswap_v4", "eth_usd_at_trade": 2356.69, "executor": "0x4337038429b76948ee97eb2d8115513277c3abf5", "fees": { "gas": { "gas_price_gwei": 0.020944, "gas_used": 697736, "gas_used_l1": 0, "l1_eth": 0, "l2_eth": 0.0000146134, "total_eth": 0.0000146134, "usd": 0.0344392 }, "token_tax": { "pct": null } }, "finality": "finalized", "id": "100393824-2-9", "market_cap_usd_at_trade": 76509.6, "pool": "0xe1cb1474a4c240a1e0bca5fb5c56f04a7d90789891fb59b68a142ca4071404e1", "price_eth": 0.0000000324649, "price_usd": 0.0000765096, "quote": "0x0000000000000000000000000000000000000000", "quote_symbol": "ETH", "signer": "0x4337038429b76948ee97eb2d8115513277c3abf5", "signer_label": null, "trader": "0xf154aa93e313b103fb4cb0183581823adeb70423", "trader_app": "fomo", "trader_label": null, "ts": 1793223744000, "tx": "0x4d9178482bc7fa7e7cd6bc3ebaf9d9e0732ce2a1d0b6a93388da4117c15bd21e", "tx_index": 2, "type": "sell", "value_eth": 0.807195, "value_usd": 1902.31, "via": [ "erc4337_entrypoint" ] }, { "amount_base": 7314055.699273110048450567, "amount_quote": 0.306578636376103123, "block": 100393715, "dex": "uniswap_v4", "eth_usd_at_trade": 2356.69, "executor": "0x4337043aedb812f09b4eb3682be2cd510d38217c", "fees": { "gas": { "gas_price_gwei": 0.02082, "gas_used": 424961, "gas_used_l1": 0, "l1_eth": 0, "l2_eth": 0.00000884769, "total_eth": 0.00000884769, "usd": 0.0208512 }, "token_tax": { "pct": 0 } }, "finality": "finalized", "id": "100393715-9-13", "market_cap_usd_at_trade": 98783.8, "pool": "0xe1cb1474a4c240a1e0bca5fb5c56f04a7d90789891fb59b68a142ca4071404e1", "price_eth": 0.0000000419164, "price_usd": 0.0000987838, "quote": "0x0000000000000000000000000000000000000000", "quote_symbol": "ETH", "signer": "0x4337043aedb812f09b4eb3682be2cd510d38217c", "signer_label": null, "trader": "0xbdc0206e3d049a0a66c5daac48d59eff637464bb", "trader_app": "fomo", "trader_label": null, "ts": 1793223733000, "tx": "0x8d48a051e84b1dea750e3b5a031c245ea37aed457bd4d18505ec3edba9bc16c0", "tx_index": 9, "type": "sell", "value_eth": 0.306579, "value_usd": 722.51, "via": [ "erc4337_entrypoint" ] } ], "meta": { "block": 100409745, "block_age_ms": 651, "block_ts": 1793225380000, "chain": "robinhood", "finalized_block": 100401329, "lag_ms": 155, "next_cursor": "100393715-13", "safe_block": 100405028 }}What this tells you
- Three sells of $1,000.03, $1,902.31 and $722.51, all in the Uniswap v4 pool
0xe1cb1474a4c240a1e0bca5fb5c56f04a7d90789891fb59b68a142ca4071404e1against ETH. - All three were made from FOMO app smart wallets:
trader_app: "fomo",via: ["erc4337_entrypoint"], andsigner(repeated inexecutor) is an ERC-4337 bundler such as0x4337fa4d86d4b6a2634900effb713bf6fb685835. Thetrader(for example0xa4109b8d391723d8f6bcfc5d75e6996f61062f76) is the smart wallet that actually sold. market_cap_usd_at_tradefell from 98,783.8 to 76,509.6 in the 11 seconds between the two older sells, and was 36,980.1 at the newest, about 23 minutes later.fees.token_tax.pctis 0 on two of them (no tax taken) andnullon the other, where it wasn’t measured.
What the fields mean
| Field | Meaning |
|---|---|
id | A stable trade id: block, transaction index and log index. |
type | buy or sell, from the trader's side. |
amount_base, amount_quote | Tokens traded and quote paid or received, in whole units. quote and quote_symbol name the quote asset. |
value_usd, value_eth | The trade's value when it happened. |
price_usd, price_eth | The token's price in this trade. |
eth_usd_at_trade, market_cap_usd_at_trade | ETH/USD and the token's market cap at that block. |
trader, trader_label, trader_app | The wallet whose balance changed, its label if known, and the app for app wallets (fomo). |
via, signer, signer_label, executor | Routers on the path, the transaction sender and its label, and executor: the sender when it traded on someone else's behalf, null when the trader sent it. |
fees.gas | gas_used, gas_price_gwei, l2_eth, l1_eth, total_eth and usd. |
fees.token_tax.pct | Token tax measured on this trade, in percent; null when not measured. |
pool, dex, block, tx, tx_index, ts | Where and when. |
finality | latest, safe or finalized. See Finality. |
One transaction can contain several trades, for example a route through two pools, so don’t use tx as a unique key: use id.
Filter the tape
| Parameter | Example | Use |
|---|---|---|
side |
side=sell |
Only buys or only sells |
min_usd |
min_usd=500 |
Whale watching: skip small trades |
trader |
trader=0xa4109b8d391723d8f6bcfc5d75e6996f61062f76 |
One wallet’s trades in this token |
app |
app=fomo |
Only trades made through an app |
from_ts, to_ts |
from_ts=1793217600000 |
A time window, unix ms |
limit, cursor |
limit=500 |
Up to 500 per page; meta.next_cursor for the next |
Use it in your app
-
Show the tape on a token page with
limit=50, coloringtypeand linkingtraderto a wallet page. -
Label infrastructure, not traders. Show
trader_apporviaas a small badge (“via FOMO”, “via Universal Router”) instead of the router as the buyer. -
Page back with
cursorto load older trades, or setfrom_tsandto_tsfor a window. -
Stream new trades over the WebSocket instead of polling a busy token.
import requests
token = "0xddccd4690cc99cf19d2e0bdbcb390d17e913958a" # socketsparams = {"side": "sell", "min_usd": 500, "limit": 100}r = requests.get(f"https://api.crius.sh/v1/robinhood/token/{token}/trades", params=params, timeout=10)body = r.json()
for t in body["data"]: how = t["trader_app"] or ", ".join(t["via"]) or "direct" print(f'{t["ts"]} {t["type"]} ${t["value_usd"]:,.2f} by {t["trader"]} ({how}), mcap ${t["market_cap_usd_at_trade"]:,.0f}')print("next page cursor:", body["meta"].get("next_cursor"))Frequently asked questions
How do I get the latest trades of a Robinhood Chain token?
Send GET https://api.crius.sh/v1/robinhood/token/{address}/trades?limit=50. The newest trade comes first. No API key is needed; for every new trade as it happens, use the WebSocket stream.
Who is the trader when a trade goes through a router or a smart wallet?
Crius attributes every trade to the address whose token balance actually changed. Routers and aggregators are listed in via and the transaction sender in signer; executor repeats the sender when it isn't the trader (a relayer or bundler sent the trade for someone else) and is null otherwise. For an ERC-4337 smart-wallet trade, trader is the smart wallet and signer is the bundler.
How is the USD value of a trade computed?
When the trade is indexed: the quote amount times the quote's USD price at that block, from on-chain markets. eth_usd_at_trade is that block's ETH/USD rate. Values from the chain's first days (before about June 24, 2026) are estimates, because the WETH/USDG pool was new and thin.
Can I get only large trades, or one wallet's trades?
Yes. min_usd=1000 keeps trades of $1,000 or more, side=buy or side=sell one side, and trader={wallet} one wallet's trades in this token. For a wallet's trades across all tokens, use wallet trades (Starter plan).
How far back does the trade history go?
To the token's first trade. Page back with meta.next_cursor, or jump to a period with from_ts and to_ts (unix ms). Each page holds up to 500 trades.
Related
Get your free Crius API key
Every example on this page works with a free key: higher rate limits than the anonymous plan, holders, wallets and the WebSocket stream. No card needed.
- Robinhood Chain (4663) only, from our own archive nodes
- REST + WebSocket
- Pay on-chain or by card