Data API

GET /v1/tokens/{mint}/trades

Recent trades for a token. Paginated.

Endpoint

GET  https://solindex.infinityblocks.io/v1/tokens/{mint}/trades

Authentication

Send your key in the x-api-key header (or ?api-key=). See Authentication.

Path parameters

ParamDescription
mintBase-58 token mint address.

Query parameters

ParamTypeDefaultAllowed / range
limitint501–500 (page size)
offsetint0Rows to skip
pageint1-based page (alternative to offset)
minUsdfloat0Curation floor — exclude trades below this USD value (0 = raw/complete)

Request

curl -s "https://solindex.infinityblocks.io/v1/tokens/<MINT>/trades?limit=50" \
  -H "x-api-key: <API_KEY>"
const r = await fetch("https://solindex.infinityblocks.io/v1/tokens/<MINT>/trades?limit=50", {
  headers: { "x-api-key": "<API_KEY>" },
});
const { data } = await r.json();

Response

{ "data": [
  { "eventId": "<SIGNATURE>-0-CYV8…1JMy", "time": 1780165220000,
    "direction": "sell", "wallet": "3w2f…F22A",
    "amountToken": 41152213.7, "amountSol": 1.2253, "amountUsd": 101.65,
    "priceUsd": 0.00000247, "signature": "<SIGNATURE>", "eventIndex": 0,
    "poolAddress": "CYV8…1JMy", "slot": 423214000, "dex": "launchlab" },
  … ],
  "page": { "limit": 50, "offset": 0, "total": 970,
    "returned": 50, "hasMore": true, "nextOffset": 50 } }
Paginated: limit + offset, or 1-based page (offset wins if both sent). The page object returns total, hasMore and nextOffset — keep requesting ?offset=<nextOffset> until hasMore is false. Optional minUsd applies a transparent curation floor (drops dust below that USD value); default 0 returns every on-chain trade. eventId (signature-eventIndex-poolAddress) is the stable per-leg key: one signature can carry multiple swap legs (multi-hop/arb across pools), so de-duplicate on eventId, not signature — on a live feed, new trades arriving mid-traversal can otherwise make a row repeat across pages.

Try it

Run GET /v1/tokens/{mint}/tradeslive · GET

Your key is stored only in this browser (localStorage).