Token pools API
GET/tokens/:chain/:address/pools
Every pool of a token, busiest or deepest first, each with its state, price, liquidity and stats over 5m to 24h.
Parameters
| Name | In | Type | Default | Allowed values |
|---|---|---|---|---|
chain | path | string | required | evm:56 (BSC), solana, evm:8453 (Base), evm:4663 (Robinhood Chain) or evm:1 (Ethereum) |
address | path | string | required | Token address (BSC) or mint (Solana) |
sort | query | string | volume | volume (24 h), liquidity |
limit | query | integer | 10 | 1–25 |
cursor | query | string | first page | The previous page's next, as it came |
Response
| Field | Type | Meaning |
|---|---|---|
chain, token, sort | string | The request, echoed. |
poolCount | number | Every pool that holds the token, as on its page. |
listed | number | The pools this listing pages through (see the notes). |
pools[] | array | Each a pool answer: the pool, its tokens with logos, its state, price, liquidityUsd and windows. |
next | string | null | Cursor for the next page. null on the last. |
Example
Captured 2026-09-28 18:03 UTC on a test instance, trimmed to 1 pool.
curl -s -H 'Authorization: Bearer <key>' 'https://app.aurelia.build/api/tokens/evm:56/0xa9fcda9bd321adeb7cbbbd30ef2dd0ed1d657777/pools?limit=1'
{
"chain": "evm:56",
"token": "0xa9fcda9bd321adeb7cbbbd30ef2dd0ed1d657777",
"sort": "volume",
"poolCount": 2,
"listed": 2,
"pools": [
{
"pool": {
"chain": "evm:56",
"address": "0x702e6533e0182381606adbe3ccbb77f682ccc58b",
"protocol": "pancakeswap-v2",
"token0": "0xa9fcda9bd321adeb7cbbbd30ef2dd0ed1d657777",
"token1": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
"factory": null,
"createdBlock": 1000008,
"createdTx": null,
"creator": "0x0f325bd174c70440fa62c31dce9f69d54baf717e",
"extra": {},
"createdAt": 1790549261920
},
"token0": {
"address": "0xa9fcda9bd321adeb7cbbbd30ef2dd0ed1d657777",
"decimals": 18,
"symbol": "TAX",
"name": "Tax Token",
"firstSeenBlock": 1000002,
"logo": null
},
"token1": {
"address": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
"decimals": 18,
"symbol": "WBNB",
"name": "Wrapped BNB",
"firstSeenBlock": 1000001,
"logo": null
},
"state": {
"atBlock": 1000008,
"atIndex": 0,
"reserve0": "700000000",
"reserve1": "7"
},
"price": {
"baseToken": "0xa9fcda9bd321adeb7cbbbd30ef2dd0ed1d657777",
"quoteToken": "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
"usd": 0.006,
"quote": 0.00001
},
"liquidityUsd": 4204200,
"windows": {
"5m": {
"volumeUsd": 600,
"buyVolumeUsd": 600,
"sellVolumeUsd": 0,
"trades": 2,
"buys": 2,
"sells": 0,
"traders": 1,
"priceChange": 0
},
"1h": {
"volumeUsd": 618,
"buyVolumeUsd": 612,
"sellVolumeUsd": 6,
"trades": 5,
"buys": 4,
"sells": 1,
"traders": 4,
"priceChange": -0.019999999999999907
},
"6h": {
"volumeUsd": 822,
"buyVolumeUsd": 762,
"sellVolumeUsd": 60,
"trades": 31,
"buys": 21,
"sells": 10,
"traders": 8,
"priceChange": 0
},
"24h": {
"volumeUsd": 1368,
"buyVolumeUsd": 1170,
"sellVolumeUsd": 198,
"trades": 102,
"buys": 69,
"sells": 33,
"traders": 8,
"priceChange": null
}
}
}
],
"next": "1"
}
Notes
volumelists the pools with a swap of the token in its last 24 hourly buckets, busiest first (at most 1,000), then, for a token in at most 500 pools, its other pools by address.liquidityranks the first 50 of that order byliquidityUsd, deepest first; a pool whose liquidity is unknown comes last.- The ranking is kept 30 s, so a walk through the pages sees one order; each pool's answer is kept 5 s.
400for a badsort,limitorcursor.404 {"error":"unknown token"}for a token Aurelia has never stored.