Skip to main content
POST
POST /v1/wallet/trades · 1 per wallet credits Batch twin: up to 20 wallets per call, response array in input order. Each slot is { data, hasMore, nextCursor, oldestAt, usdBasis }, the body of the single GET for that wallet, or { error } when that wallet failed, so one wallet never fails the others. Every item names its chain (the trade tape is per chain) and may carry its own cursor: each wallet paginates independently with the nextCursor of its slot. limit, beforeAt, fromAt and includeRoutingHops apply to every wallet of the call. Billed per wallet.
A slot’s data, hasMore, nextCursor, oldestAt and usdBasis are exactly what GET /v1/wallet/trades returns for that wallet with the same options; see that page for the row fields and the pagination contract (hasMore: false means the wallet’s history is fully served).
Time window. from and to (unix milliseconds, both inclusive) are shared by every wallet of the call; fromAt and beforeAt remain supported, one name per bound.

Authorizations

Authorization
string
header
required

Your raw API key (not needed on the demo server).

Body

application/json
items
object[]
required

[{ "wallet": "…", "chain": "…", "cursor": "…" }] - 1 to 20 wallets, EVM and Solana mixed freely; chain required; cursor optional, the nextCursor of that wallet's previous slot.

Required array length: 1 - 20 elements
limit
integer
default:50
required

Page size per wallet, 1-100. Default 50.

Required range: 1 <= x <= 100
Example:

50

from
integer

Inclusive lower time bound, unix MILLISECONDS. A value in seconds is rejected (400).

Required range: x >= 0
to
integer

Inclusive upper time bound, unix MILLISECONDS. A value in seconds is rejected (400).

Required range: x >= 0
beforeAt
integer

Same as the GET, applied to every wallet: upper bound in unix MILLISECONDS, trades strictly older. Ignored for an item that carries a cursor.

Required range: x >= 0
fromAt
integer

Same as the GET, applied to every wallet: inclusive lower bound in unix MILLISECONDS.

Required range: x >= 0
includeRoutingHops
boolean
default:false

Same as the GET, applied to every wallet. Default false.

Example:

false

Response

200

Standard { data, meta } envelope.