CRIUS Docs
API status Get API key
Holders & wallets

Get a wallet's trade history

List every trade a Robinhood Chain wallet made across all tokens, with USD value at trade time, market cap, DEX and gas. Filter by token, side, size, time.

Updated 2 min read
Short answer

Call GET /v1/robinhood/wallet/{address}/trades (Starter plan, 5 credits). It returns the wallet's trades across all tokens, newest first, in the trade tape's shape plus the token: type, value_usd, amount_base, price_usd, market_cap_usd_at_trade, dex, fees, tx. Filter with token, side, min_usd, from_ts / to_ts, and page with cursor.

A wallet’s trade history is every buy and sell it made, across every token on Robinhood Chain, newest first. Each trade carries what was swapped, its value in USD and ETH at that moment, the market cap at the time, the DEX or launchpad curve, the gas paid and any token tax. Trades made through routers, bots and smart accounts are attributed to the wallet that owns the funds, so the history is the user’s real activity, not their router’s.

Get a wallet’s trades

A token creator with no trades

Did the wallet that launched Charge AI (0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca) ever buy or sell a token?

GET/v1/robinhood/wallet/0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca/trades?limit=3
curl "https://api.crius.sh/v1/robinhood/wallet/0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca/trades?limit=3" \
-H "x-api-key: $CRIUS_API_KEY"
Real response 200 Captured Oct 28, 2026 · 13 lines (arrays trimmed)
{
"data": [],
"meta": {
"block": 100406866,
"block_age_ms": 557,
"block_ts": 1793225085000,
"chain": "robinhood",
"finalized_block": 100397649,
"lag_ms": 110,
"next_cursor": null,
"safe_block": 100401329
}
}

What this tells you

  • data: [] and meta.next_cursor: null: this wallet has never made a trade, on any token.
  • Launching a token isn’t a trade. The wallet created CHARGE on Pons but never bought any of it, which matches its developer profile (dev_sold_pct: null: it never held the token) and its wallet profile (pnl.trades: 0).
  • An empty history for a dev wallet is a good sign in one way: it didn’t buy its own launch to dump later.

The same trade objects are on the token’s trade tape, which has a trader filter and is on the anonymous plan. Here is one active wallet’s full history in one token:

One buy on the Pons curve, seven sells on Uniswap v4

How did 0x9e38fedc40987c19396cc20ea59eb2b1b7928881, CHARGE's most profitable trader, trade it?

GET/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/trades?trader=0x9e38fedc40987c19396cc20ea59eb2b1b7928881&limit=10
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/trades?trader=0x9e38fedc40987c19396cc20ea59eb2b1b7928881&limit=10"
Real response 200 Captured Oct 28, 2026 · 350 lines (arrays trimmed)
{
"data": [
{
"amount_base": 3450501.202444715882983567,
"amount_quote": 0.059489677910557273,
"block": 89567489,
"dex": "uniswap_v4",
"eth_usd_at_trade": 2461.46,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.02114,
"gas_used": 211923,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000448005,
"total_eth": 0.00000448005,
"usd": 0.0110275
},
"token_tax": {
"pct": 0
}
},
"finality": "finalized",
"id": "89567489-3-3",
"market_cap_usd_at_trade": 41171.4,
"pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"price_eth": 0.0000000172409,
"price_usd": 0.0000424378,
"quote": "0x0000000000000000000000000000000000000000",
"quote_symbol": "ETH",
"signer": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"signer_label": null,
"trader": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"trader_app": null,
"trader_label": null,
"ts": 1792101884000,
"tx": "0xa2cde4fc974766f588279983c6453169163b5332c8b964d33b09a9c53ced8818",
"tx_index": 3,
"type": "sell",
"value_eth": 0.0594897,
"value_usd": 146.432,
"via": []
},
{
"amount_base": 3450501.202444715882983566,
"amount_quote": 0.076326432685469697,
"block": 88527989,
"dex": "uniswap_v4",
"eth_usd_at_trade": 2444.46,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.021216,
"gas_used": 216578,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000459492,
"total_eth": 0.00000459492,
"usd": 0.0112321
},
"token_tax": {
"pct": 0
}
},
"finality": "finalized",
"id": "88527989-3-21",
"market_cap_usd_at_trade": 52459,
"pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"price_eth": 0.0000000221204,
"price_usd": 0.0000540725,
"quote": "0x0000000000000000000000000000000000000000",
"quote_symbol": "ETH",
"signer": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"signer_label": null,
"trader": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"trader_app": null,
"trader_label": null,
"ts": 1791997126000,
"tx": "0x734c18c4b65ea2795c480651c6b7c2b64209d437a5cc92ba9d06cc0c9c12f282",
"tx_index": 3,
"type": "sell",
"value_eth": 0.0763264,
"value_usd": 186.577,
"via": []
},
{
"amount_base": 2300334.134963143921989044,
"amount_quote": 0.071658341178558314,
"block": 88475945,
"dex": "uniswap_v4",
"eth_usd_at_trade": 2438.29,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.020702,
"gas_used": 216676,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000448563,
"total_eth": 0.00000448563,
"usd": 0.0109373
},
"token_tax": {
"pct": 0
}
},
"finality": "finalized",
"id": "88475945-1-0",
"market_cap_usd_at_trade": 73689.3,
"pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"price_eth": 0.0000000311513,
"price_usd": 0.0000759559,
"quote": "0x0000000000000000000000000000000000000000",
"quote_symbol": "ETH",
"signer": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"signer_label": null,
"trader": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"trader_app": null,
"trader_label": null,
"ts": 1791991894000,
"tx": "0x99d7a94b290cea9a6e8cb9c2f63f5199a1d3250364700b6aebe2eeb1db298040",
"tx_index": 1,
"type": "sell",
"value_eth": 0.0716583,
"value_usd": 174.724,
"via": []
},
{
"amount_base": 3067112.179950858562652058,
"amount_quote": 0.086696054744512961,
"block": 88475346,
"dex": "uniswap_v4",
"eth_usd_at_trade": 2437.39,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.020702,
"gas_used": 216654,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000448517,
"total_eth": 0.00000448517,
"usd": 0.0109321
},
"token_tax": {
"pct": 0
}
},
"finality": "finalized",
"id": "88475346-6-9",
"market_cap_usd_at_trade": 66840.2,
"pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"price_eth": 0.0000000282663,
"price_usd": 0.0000688961,
"quote": "0x0000000000000000000000000000000000000000",
"quote_symbol": "ETH",
"signer": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"signer_label": null,
"trader": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"trader_app": null,
"trader_label": null,
"ts": 1791991834000,
"tx": "0x95c675f803e40c2ea0c3a84340eb5dbd19452983bfcc4817bdd81191922045b6",
"tx_index": 6,
"type": "sell",
"value_eth": 0.0866961,
"value_usd": 211.312,
"via": []
},
{
"amount_base": 4089482.906601144750202745,
"amount_quote": 0.096224110593702316,
"block": 88466730,
"dex": "uniswap_v4",
"eth_usd_at_trade": 2432.02,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.020974,
"gas_used": 216560,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000454213,
"total_eth": 0.00000454213,
"usd": 0.0110465
},
"token_tax": {
"pct": 0
}
},
"finality": "finalized",
"id": "88466730-5-3",
"market_cap_usd_at_trade": 55516.9,
"pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"price_eth": 0.0000000235297,
"price_usd": 0.0000572245,
"quote": "0x0000000000000000000000000000000000000000",
"quote_symbol": "ETH",
"signer": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"signer_label": null,
"trader": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"trader_app": null,
"trader_label": null,
"ts": 1791990966000,
"tx": "0x0a036198703d4f8f88ef8e7e2a789a9788ef1affce207e519dd7d9f50dc483a7",
"tx_index": 5,
"type": "sell",
"value_eth": 0.0962241,
"value_usd": 234.019,
"via": []
},
{
"amount_base": 5452643.875468193000270326,
"amount_quote": 0.103891242720784518,
"block": 88461897,
"dex": "uniswap_v4",
"eth_usd_at_trade": 2422.69,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.020708,
"gas_used": 216676,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000448693,
"total_eth": 0.00000448693,
"usd": 0.0108705
},
"token_tax": {
"pct": 0
}
},
"finality": "finalized",
"id": "88461897-9-21",
"market_cap_usd_at_trade": 44783.1,
"pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"price_eth": 0.0000000190534,
"price_usd": 0.0000461605,
"quote": "0x0000000000000000000000000000000000000000",
"quote_symbol": "ETH",
"signer": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"signer_label": null,
"trader": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"trader_app": null,
"trader_label": null,
"ts": 1791990481000,
"tx": "0x9fa0531f936d1350e415a003c9127f6b4d9300caff0b353e761bee6ee312555b",
"tx_index": 9,
"type": "sell",
"value_eth": 0.103891,
"value_usd": 251.697,
"via": []
},
{
"amount_base": 7270191.833957590667027102,
"amount_quote": 0.141409557571563841,
"block": 88461530,
"dex": "uniswap_v4",
"eth_usd_at_trade": 2427.14,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.02065,
"gas_used": 216714,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.00000447514,
"total_eth": 0.00000447514,
"usd": 0.0108618
},
"token_tax": {
"pct": 0
}
},
"finality": "finalized",
"id": "88461530-5-12",
"market_cap_usd_at_trade": 45800.6,
"pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"price_eth": 0.0000000194506,
"price_usd": 0.0000472093,
"quote": "0x0000000000000000000000000000000000000000",
"quote_symbol": "ETH",
"signer": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"signer_label": null,
"trader": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"trader_app": null,
"trader_label": null,
"ts": 1791990444000,
"tx": "0x5b7b4db274b6818846f101c1c371a5eb0bc53801f0830c691063a3fd9a3b9723",
"tx_index": 5,
"type": "sell",
"value_eth": 0.14141,
"value_usd": 343.221,
"via": []
},
{
"amount_base": 29080767.335830362668108408,
"amount_quote": 0.099,
"block": 88389602,
"dex": "pons_curve",
"eth_usd_at_trade": 2475.75,
"executor": null,
"fees": {
"gas": {
"gas_price_gwei": 0.02029,
"gas_used": 277378,
"gas_used_l1": 0,
"l1_eth": 0,
"l2_eth": 0.000005628,
"total_eth": 0.000005628,
"usd": 0.0139335
},
"token_tax": {
"pct": 0
}
},
"finality": "finalized",
"id": "88389602-19-29",
"market_cap_usd_at_trade": 8176.73,
"pool": "0x2b0943bf947b54df526047b6fec8183a4fdeb3c3",
"price_eth": 0.00000000340431,
"price_usd": 0.00000842823,
"quote": "0x0000000000000000000000000000000000000000",
"quote_symbol": "ETH",
"signer": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"signer_label": null,
"trader": "0x9e38fedc40987c19396cc20ea59eb2b1b7928881",
"trader_app": null,
"trader_label": null,
"ts": 1791983208000,
"tx": "0x1f6f1367f5ae6f2fec73bdc63ba88762bd73e32b20c19f029bffdd5b5ce8deb5",
"tx_index": 19,
"type": "buy",
"value_eth": 0.099,
"value_usd": 245.099,
"via": []
}
],
"meta": {
"block": 100408989,
"block_age_ms": 371,
"block_ts": 1793225306000,
"chain": "robinhood",
"finalized_block": 100397649,
"lag_ms": 48,
"next_cursor": null,
"safe_block": 100401329
}
}

What this tells you

  • Eight trades, newest first. The last item is the only buy: type: "buy", dex: "pons_curve", 0.099 ETH (value_usd: 245.099) for 29,080,767 CHARGE at market_cap_usd_at_trade: 8176.73, on 2026-10-14 at 13:06 UTC, six minutes after launch.
  • The seven sells are on dex: "uniswap_v4", in pool 0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913, after the token graduated. They sold at market caps between 41171.4 and 73689.3; the largest was value_usd: 343.221.
  • The seven value_usd add up to 1,547.98, exactly the sold_usd of this wallet in CHARGE’s top traders. The trade list is the evidence behind the PnL.
  • trader and signer are the same address with executor: null: the wallet sent its own transactions, without a bot or relayer.
  • fees.token_tax.pct: 0 on every trade, and gas of about a cent each (fees.gas.usd: 0.0139335 on the buy).
  • finality: "finalized": Ethereum has finalized the batches these trades were posted in (see Finality).
Trade tape reference Runs from your browser on the anonymous plan Data looks wrong? Report it

What the fields mean

FieldMeaning
idUnique trade id: block, transaction index, log index.
typebuy or sell, from the wallet's side.
token(wallet trades) the token traded: address, symbol, logo.
amount_base, amount_quote, quote, quote_symbolTokens traded, and what they were paid with (ETH, WETH, USDG…).
value_usd, value_eth, eth_usd_at_tradeValue of the trade at the time it happened.
price_usd, price_eth, market_cap_usd_at_tradeThe token's price and market cap at that trade.
dex, pool, viaWhere it traded (pons_curve, uniswap_v4, uniswap_v3…), the pool, and routers it went through.
trader, signer, executor, trader_label, trader_appWho traded, who sent the transaction, and the relayer or bundler when there was one.
fees.gasGas in ETH (L2 and L1 parts) and USD.
fees.token_tax.pctToken tax actually taken on this trade.
block, ts, tx, finalityWhen and where it happened, and whether it's latest, safe or finalized.

Filters on /wallet/{address}/trades: token (one token’s trades), side (buy or sell), min_usd, from_ts and to_ts (unix ms), limit (up to 500, default 50) and cursor (meta.next_cursor).

Use it in your app

  1. Get a Starter key for /wallet/{address}/trades (5 credits per call). For one token only, the token trade tape with trader= works without a key.

  2. Page through history. Ask for limit=500 and pass meta.next_cursor as cursor until it’s null. For updates, fetch with from_ts set to the newest ts you have and skip ids you’ve already stored.

  3. Group by token for a portfolio view. Sum value_usd per token.address and type: buys are cost, sells are proceeds. The wallet profile already does this as PnL.

  4. Show the context. market_cap_usd_at_trade (“bought at $8k market cap”) and dex (“on the Pons curve”) make a trade history readable.

// Every trade of a wallet, all pages.
async function walletTrades(wallet) {
const out = [];
let cursor = null;
do {
const q = new URLSearchParams({ limit: "500", ...(cursor && { cursor }) });
const res = await fetch(`https://api.crius.sh/v1/robinhood/wallet/${wallet}/trades?${q}`, {
headers: { "x-api-key": process.env.CRIUS_API_KEY },
});
const { data, meta } = await res.json();
out.push(...data);
cursor = meta.next_cursor;
} while (cursor);
return out;
}
const trades = await walletTrades("0x9e38fedc40987c19396cc20ea59eb2b1b7928881");
for (const t of trades) console.log(new Date(t.ts).toISOString(), t.type, t.token.symbol, `$${t.value_usd}`, t.dex);

Frequently asked questions

How do I get all the trades of a wallet on Robinhood Chain?

Call /v1/robinhood/wallet/{address}/trades?limit=500 and follow meta.next_cursor until it's null. Trades come newest first, across every token and DEX the wallet used, each with the USD value at the time of the trade.

How do I get a wallet's trades in one token without a paid plan?

Use the token's trade tape with the trader filter: /v1/robinhood/token/{token}/trades?trader={wallet}. It's on the anonymous plan (2 credits with a key) and returns the same trade objects. Use /wallet/{address}/trades when you need every token at once.

Does a trade through a router or a trading bot show up under my wallet?

Yes. Crius attributes each swap to the wallet whose balance changed, not to the router, aggregator, Relay solver or ERC-4337 bundler that sent it. The sender is reported separately as signer and executor. See Trader attribution.

Why does a wallet return no trades?

It hasn't bought or sold any token on a DEX or launchpad curve. Launching a token, receiving an airdrop or sending a transfer isn't a trade. An address the index has never seen also returns an empty list rather than an error.

Which plan does wallet trades need?

The Starter plan or higher, 5 credits per call. See Plans & limits.

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