Skip to content

Search tokens

GET
/arc/tokens/search
curl --request GET \
--url 'https://api.getchord.xyz/v1/arc/tokens/search?q=example&limit=20'

Symbol, name or address over every token traded in the last 24 hours. Exact symbol first, then prefix, then name, then substring; listed tokens and volume break ties so the real ARGUS outranks a same-named copy. A pasted contract address always returns that token, even with no 24-hour row. coverage says how many tokens have a resolved name yet (about a minute after a boot).

q
required
string
>= 1 characters <= 64 characters

Symbol, name or address fragment.

limit
integer
default: 20 >= 1 <= 100
Media typeapplication/json
object
chain
integer
Allowed value: 5042
q
string
tokens
Array<object>

One token on Arc with its 24-hour tape.

object
address

EVM address, hex, case-insensitive.

string
/^0x[a-fA-F0-9]{40}$/
symbol
string | null
name
string | null
decimals
integer | null
logoURI

Logo through Chord’s proxy (/v1/logo/5042/{address}, 128 px WebP).

string | null
logoUriRaw

The upstream logo URL the proxy fetched, when there is one.

string | null
tags

stablecoin, fx, stock, … — from the curated list; empty for unlisted tokens.

Array<string>
listed

On the curated Arc token list (metadata and logo vetted).

boolean
priceUsd

Last trade price on the token’s dominant venue, USD.

number | null
change24hPct
number | null
volume24h

USD, every venue, no dust floor.

number
buyVolume24h
number
sellVolume24h
number
trades24h
integer
buys24h
integer
sells24h
integer
traders

Distinct attributed wallets over the board’s day window. Routers, executors and bots are not wallets.

integer
lastTradeTs

Unix time, seconds, UTC.

integer
totalSupply

totalSupply() in whole tokens. Null when unreadable.

number | null
marketCapUsd

TotalSupply × price — fully diluted, since nothing on-chain says what is locked.

number | null
pools

Indexed pools holding the token.

object
v3
integer
v2
integer
v4
integer
byDex

Pool count per venue id (uniswap_v3, uniswap_v4, pools_trade, slipstream_fork, v3fork_<8hex>, …).

object
key
additional properties
integer
routable

The engine can quote this token today (at least one pool against a routing anchor).

boolean
flags

Honesty flags. wash = a day’s volume carried by one or two wallets; impostor = an unlisted token wearing a listed symbol. Absent when clean.

Array<string>
Allowed values: wash impostor
total
integer
coverage
object
resolved
integer
total
integer
updatedAt

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

integer
Example
{
"chain": 5042,
"q": "argus",
"tokens": [
{
"address": "0xece5ca8bf9220718e5727754026757512212cb3c",
"symbol": "ARGUS",
"name": "Argus",
"decimals": 18,
"logoURI": "https://api.getchord.xyz/v1/logo/5042/0xece5ca8bf9220718e5727754026757512212cb3c",
"tags": [],
"listed": true,
"priceUsd": 0.018829227933149367,
"change24hPct": 10.31671479507974,
"volume24h": 4045502.7263479983,
"buyVolume24h": 2085285.1237909999,
"sellVolume24h": 1960217.6025569995,
"trades24h": 25431,
"buys24h": 13691,
"sells24h": 11740,
"traders": 4548,
"lastTradeTs": 1789890980,
"totalSupply": null,
"marketCapUsd": null,
"pools": {
"v3": 15,
"v2": 5,
"v4": 1141,
"byDex": {
"uniswap_v3": 12,
"v2fork_e64d552a": 1,
"v2fork_a1a044ff": 1,
"v3fork_cae668d0": 1,
"uniswap_v2": 1,
"v3fork_aa5865dc": 1,
"synthra_v3": 1,
"sushi_v2": 2,
"uniswap_v4": 1141
}
},
"routable": true,
"logoUriRaw": "https://coin-images.coingecko.com/coins/images/102178392/large/argus-token.png?1789463380"
}
],
"total": 1,
"coverage": {
"resolved": 240,
"total": 6270
},
"updatedAt": 1789891854005
}

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"
}