Tracing transfers

Walk the transfer graph outward from an account for a specific token

GET /api/track-transfers/ is a graph-walk endpoint: starting from one (account, token) pair, it follows every counterparty appearing in those transfers and collects their transfers too, breadth-first, until no new counterparties appear. Useful for tracing how a token moved through a cluster of related wallets.

Info

This is not a push/webhook subscription. It's a single synchronous request that returns the full traced set. For live updates on a wallet's incoming transfers, poll /api/transfers/ or use the SDK's WebSocket client.

Request

ParameterRequiredNotes
accountyesStarting wallet address. Must already exist in our indexed account table.
tokenyesToken contract address. Must already exist in our indexed token table.
Code
bash
1curl 'https://api.tokenkithq.io/api/track-transfers/?account=0x072aabc660...&token=0x053c91253...' \
2 -H 'api-key: YOUR_API_KEY'

Response

A flat JSON array. Each element is one transfer involving someone in the traced set, with the fields normalised to short keys (no _address suffix).

Code
json
1[
2 {
3 "from": "0x072aabc660...",
4 "to": "0x05d0f2e1...",
5 "value": "1000000",
6 "txhash": "0x054f510c...",
7 "timestamp": "2026-01-24T23:03:20Z",
8 "block": 6000181,
9 "status": "ACCEPTED_ON_L2",
10 "fee": "1234..."
11 }
12]

Returns 404 if either the account or the token isn't indexed.

Warning

Cost. Each traced counterparty triggers a ClickHouse query for up to 10,000 of their transfers in this token. A heavily-connected starting wallet can fan out to thousands of accounts and take a long time to return. Scope this to known small clusters; for bulk analysis use the transfers endpoint with explicit filters.

See also