Skip to content

Every indexed pool for a token

GET
/arc/token/{address}/pools
curl --request GET \
--url https://api.getchord.xyz/v1/arc/token/example/pools

V2 pairs, V3 pools and V4 pool ids (with hooks) that hold the token, with the creation block. For LP-oriented ranking use /lp/token/{address}/pools.

address
required

EVM address, hex, case-insensitive.

string
/^0x[a-fA-F0-9]{40}$/
Media typeapplication/json
object
chain
integer
Allowed value: 5042
token

EVM address, hex, case-insensitive.

string
/^0x[a-fA-F0-9]{40}$/
pools
Array<object>
object
pool

A pool: a 20-byte contract address (V2 / V3) or a 32-byte Uniswap V4 pool id.

string
/^0x([a-fA-F0-9]{40}|[a-fA-F0-9]{64})$/
dex
string
kind
string
Allowed values: clmm v2 v4
token0

EVM address, hex, case-insensitive.

string
/^0x[a-fA-F0-9]{40}$/
token1

EVM address, hex, case-insensitive.

string
/^0x[a-fA-F0-9]{40}$/
fee

Fee in pips (100 = 0.01%).

integer | null
hooks

EVM address, hex, case-insensitive.

string
/^0x[a-fA-F0-9]{40}$/
createdBlock
integer
updatedAt

Unix time, milliseconds — when the server built this answer.

integer
Example
{
"chain": 5042,
"token": "0x171a4217b86a807a64eb94757db6849fb4bdbaa0",
"pools": [
{
"pool": "0x82916bee18fcef517b26c72d7cb5f13694e1db41",
"dex": "uniswap_v3",
"kind": "clmm",
"token0": "0x171a4217b86a807a64eb94757db6849fb4bdbaa0",
"token1": "0x3600000000000000000000000000000000000000",
"fee": 100,
"createdBlock": 21076890
},
{
"pool": "0xecd988913031a292bcf0e4e07ccd5815c8969a48",
"dex": "uniswap_v3",
"kind": "clmm",
"token0": "0x171a4217b86a807a64eb94757db6849fb4bdbaa0",
"token1": "0x3600000000000000000000000000000000000000",
"fee": 3000,
"createdBlock": 21081300
}
],
"updatedAt": 1789891855402
}

Invalid parameters — error names the check that failed (INVALID_PARAMS, BAD_ADDRESS, BAD_LIMIT, BAD_HOURS, …).

Media typeapplication/json

Every non-2xx body.

object
error
required

Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.

string
message

For humans.

string
statusCode

HTTP status, when included.

integer
Example
{
"error": "INVALID_PARAMS",
"message": "amount must be an integer string in the token's smallest unit"
}

The lane behind this endpoint is not ready or not enabled here (NOT_READY, CHAIN_NOT_ENABLED, NOT_ENABLED, *_UNAVAILABLE). Retry later; do not treat it as an empty answer.

Media typeapplication/json

Every non-2xx body.

object
error
required

Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.

string
message

For humans.

string
statusCode

HTTP status, when included.

integer
Example
{
"error": "INVALID_PARAMS",
"message": "amount must be an integer string in the token's smallest unit"
}