REST

Token Trades

Trade history for a single mint (either swap leg — from or to), newest first. Includes token↔token swaps when present. Retention-clamped; no backfill of pre-persistence gaps. Optional source and solOnly filters. Same SwapV1 shape as the trades stream.

GET/v1/tokens/:mint/trades

Request

curl "https://api.anaxer.com/v1/tokens/EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm/trades?source=pump_fun&solOnly=true&limit=50&from=1751000000000&to=1751008869000" \
  -H "Authorization: Bearer YOUR_KEY"

Path parameters

NameTypeDescription
mintstringSubject token mint address. Quote assets (SOL, USDC, USDT) are rejected with 400 invalid_request — use metadata or price for those mints; use solOnly=true for SOL-paired history of a non-quote token. Example: EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm

Query parameters

Full venue catalog: Sources. REST list filters use the singular source query param (one venue). Streams use the sources array.

NameTypeDescription
sourcestringFilter by a single venue slug. Supported: pump_fun, pump_amm, raydium_launchlab, raydium_cpmm, raydium_clmm, raydium_v4, meteora_dbc, meteora_damm_v2, meteora_dlmm, meteora_pools, orca_whirlpool, pancakeswap, bonkfun. Unknown values return 400. Example: pump_fun
solOnlybooleanWhen true, keep only swaps where wrapped SOL is the other leg. Omit or false = no constraint (includes token↔token history). Load-bearing once non-SOL pairs are persisted. Example: true
limitnumberMaximum number of results (default 50, max 200). Example: 50
cursorstringOpaque keyset cursor from the previous response's next field. Endpoint-scoped — do not reuse across endpoints.
fromstringStart of the time window (ISO-8601 or unix ms). Clamped to the endpoint's retention window. Example: 1751000000000
tostringEnd of the time window (ISO-8601 or unix ms). Example: 1751008869000

Response

Example response body:

{
  "data": [
    {
      "type": "swap",
      "signature": "5xY8kR3nQmZ2vLdE9fWqT1sN4pC7hUoB6yA8jK2mVxRt3wDzS9pQeH4LcM7nJb1FgKtR5zXvY2mNc8h",
      "slot": 309812501,
      "timestamp": 1751008869000,
      "wallet": "5FHwkW5742VKq9W8pN3mL7jR2sT6cX4bY1zD8gH9K2pQnM",
      "source": "pump_fun",
      "volumeUsd": 187.5,
      "swap": {
        "from": {
          "mint": "So11111111111111111111111111111111111111112",
          "amount": "1250000000",
          "uiAmount": 1.25,
          "decimals": 9
        },
        "to": {
          "mint": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm",
          "amount": "842110000000",
          "uiAmount": 842110,
          "decimals": 6
        }
      }
    }
  ],
  "next": null,
  "window": { "from": 1751000000000, "to": 1751008869000 }
}

Fields

Fields of each item in the data array (list responses wrap items with next and window).

NameTypeDescription
typestringAlways "swap".
signaturestringSwap transaction signature.
slotnumberSolana slot the event landed in. Use for ordering and gap recovery.
timestampnumberEvent time as a Unix epoch millisecond value.
walletstringWallet that made the swap.
sourcestringDEX/venue. See Sources.
volumeUsdnumberTrade size in USD.
swapobject{ from, to }, each with mint, amount (raw string), uiAmount (number), decimals.