Skip to main content
A trade is a single fill: side, price, size, the wallets involved, and the chain transaction. Trades exist on every venue family.

Get trades

curl "https://api.0xarchive.io/v1/hyperliquid/trades/BTC?limit=1" \
  -H "X-API-Key: $OXARCHIVE_API_KEY"
Routes: /v1/hyperliquid/trades/{symbol}, /recent. Plain perp symbols such as BTC.

Request parameters

ParameterInTypeRequiredDescription
symbolpathstringYesTrading pair symbol, e.g. BTC
startqueryinteger (ms)NoStart time, Unix ms. Defaults to 24h ago
endqueryinteger (ms)NoEnd time, Unix ms. Defaults to now
limitqueryintegerNoMax results. Default 100, max 1000
cursorquerystringNoPagination cursor from meta.next_cursor
A trade returns:
{
  "success": true,
  "data": [
    {
      "coin": "BTC",
      "side": "B",
      "price": "63743",
      "size": "0.0002",
      "timestamp": "2026-06-04T13:53:39.609Z",
      "trade_id": 397759113671327,
      "direction": "Open Long",
      "fee": "0.005507",
      "fee_token": "USDC",
      "start_position": "0.03919",
      "crossed": true,
      "user_address": "0x1f1fab9e5fc092f02cf833fd487b64703cbf536a",
      "tx_hash": "0xcf8038aff0c5753fd0f9043cf4049502051b00958bc894117348e402afc94f2a"
    }
  ],
  "meta": { "count": 1, "next_cursor": "1780581219809_333265093496905", "request_id": "req_7d2b9c4f1a08e6d3" }
}

Response fields

Each item in the data array:
FieldTypeDescription
symbolstringTrading pair symbol (coin is a deprecated alias)
sidestringB (buy) or A (sell)
pricestringExecution price (decimal string)
sizestringTrade size (decimal string)
timestampstringExecution time (UTC)
trade_idintegerUnique trade ID
crossedbooleanTrue if taker (crossed the spread), false if maker
feestringFee paid; a negative value is a maker rebate
fee_tokenstringFee denomination, e.g. USDC
closed_pnlstringRealized PnL on a closing fill
directionstringHuman label such as Open Long, Close Short
start_positionstringPosition size before this trade
user_addressstringUser wallet address
tx_hashstringBlockchain transaction hash
Builder and HIP-3 fills also carry builder_address, builder_fee, deployer_fee, and priority_gas; order_id, cloid, maker_address, taker_address, and twap_id appear where applicable. price, size, and fee are decimal strings. Paginate with meta.next_cursor and keep meta.request_id per page. Full field meanings live in the field dictionary.

Stream it live

Every venue streams trades. Subscribe to trades for Hyperliquid core, or the venue-prefixed channel for the rest: spot_trades, hip3_trades, hip4_trades, lighter_trades. Keep the symbol shape that matches the family.
ws.send(JSON.stringify({ op: "subscribe", channel: "trades", symbol: "BTC" }));
Connection, keep-alive, and reconnect handling live in the WebSocket tab; the full channel list is on WebSocket Channels.

Export in bulk

For the historical tape as files, use the trades export schema ($8/GB, $15 minimum), delivered as Parquet with ZSTD compression. Build a selection in the Data Catalog; columns and coverage keys are on Export Schemas.

Next

Use Order books for resting depth, Liquidations for forced exits, Example Responses for more payload shapes, or Data Quality before trades feed a model.
Last modified on June 8, 2026