---
title: "Token DEX Trade History"
method: GET
path: "/gateway/v1/token/dex-trades"
tags: ["Token"]
---

# Token DEX Trade History

`GET /gateway/v1/token/dex-trades`

Returns recent DEX swap events for a token contract address.

**Covered DEXes:** `uniswap`, `sushiswap`, `curve`, `balancer`, `pancakeswap` (and other major DEXes per chain).

**Included fields:** trading pair, amounts, USD value, taker address.

**Data refresh:** ~24 hours · **Chains:** Ethereum, Base, BSC, Arbitrum, Tron

## Query parameters

- `address` string, required — Token CONTRACT ADDRESS — 0x-prefixed hex (EVM chains only; Tron also accepts base58 `T...`). This is NOT a ticker symbol (e.g. do NOT pass `USDC` or `BTC`). To resolve a ticker symbol to a contract address, call GET /v1/search/token?q={symbol}&chain={chain} and use the `address` whose `chain` is supported by this endpoint. This endpoint has no `symbol` parameter.
- `chain` 'ethereum' | 'base' | 'bsc' | 'arbitrum' | 'tron' — Chain. Can be `ethereum`, `base`, `bsc`, `arbitrum`, or `tron`.
- `limit` integer — Results per page
- `offset` integer — Pagination offset
- `include` string — Comma-separated enrichments to attach to each trade. Currently valid: `labels` — adds a `taker_label` field with entity information for the taker address.

## Response `200`

OK

- DataResponseDexTradeItem
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `data` DexTradeItem[], nullable, required
    - `amount_usd` number, double, required — Trade value in USD at execution time
    - `block_time` integer, required — Unix timestamp in seconds when the trade was executed
    - `project` string, required — DEX project name like `uniswap`, `sushiswap`, or `curve`
    - `taker` string, required — Wallet address that initiated the swap
    - `taker_label` WalletLabelItem
      - `address` string, required — Wallet address
      - `entity_name` string — Name of the associated entity like `Binance` or `Aave`
      - `entity_type` string — Type of entity like `exchange`, `fund`, or `whale`
      - `labels` WalletLabelInfo[], nullable, required — List of labels assigned to this address
        - `confidence` number, double — Confidence score 0.0-1.0
        - `label` string, required — Human-readable label for this address like `Binance Hot Wallet`
    - `token_bought_address` string — Contract address of the token bought
    - `token_bought_amount` number, double, required — Amount of tokens bought (decimal-adjusted)
    - `token_bought_symbol` string, required — Symbol of the token bought in this trade
    - `token_pair` string, required — Trading pair symbol like `WETH-USDC`
    - `token_sold_address` string — Contract address of the token sold
    - `token_sold_amount` number, double, required — Amount of tokens sold (decimal-adjusted)
    - `token_sold_symbol` string, required — Symbol of the token sold in this trade
    - `tx_hash` string, required — Transaction hash
    - `version` string, required — DEX version like `v2` or `v3`
  - `meta` OffsetMeta, required
    - `cached` boolean, required — Whether this response was served from cache
    - `credits_used` integer, required — Credits deducted for this request
    - `empty_reason` string — Hint explaining why the data array is empty, when applicable
    - `has_more` boolean — Whether more items may exist beyond this response. For offset-paged endpoints, continue with a larger offset. For time-series endpoints without offset/cursor controls, true means the requested time range hit an upstream cap; narrow from/to to continue. Omitted when exhaustion cannot be proven.
    - `limit` integer, required — Maximum number of items returned in this response
    - `offset` integer, required — Number of items skipped (pagination offset)
    - `total` integer — Total number of matching items (before pagination). Omitted when total is unknown.
    - `watermark` integer — Warehouse watermark (Unix seconds) this response was computed at, on warehouse-backed endpoints (e.g. Hyperliquid /trades/aggregate) — rows up to this time come from the warehouse, newer rows from the live tail. Omitted elsewhere.

## Other responses

- `default` — Error

---

[API](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api.md) · [All operations](https://skmtc.dev/asksurf/apis/asksurf-public-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/asksurf/asksurf-public-rest-api/revisions/4153a9cb5145/schema)
