API Reference
GET /api/v1/tokens
List the tokens available for swaps on a chain.
Returns the token list a chain's solver can actually route — the same list the swap widget serves. A token is only listed if it passes quality checks, has traded within the last 3 days, and appears in the solver's indexed liquidity graph.
Request
GET https://orkidlabs.xyz/api/v1/tokens?chain=base&limit=100Query parameters
| Field | Type | Default | Description |
|---|---|---|---|
chain | string | base | base, ethereum, arbitrum, polygon |
search | string | — | Filter by symbol prefix/substring or contract address prefix |
limit | number | 100 | Max results, up to 500 |
Response
{
"ok": true,
"chain": "base",
"count": 2,
"tokens": [
{
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"symbol": "USDC",
"decimals": 6,
"quality": 100,
"chain": "base",
"curated": true
},
{
"address": "0x4200000000000000000000000000000000000006",
"symbol": "WETH",
"decimals": 18,
"quality": 100,
"chain": "base",
"curated": true
}
]
}Fields
| Field | Type | Description |
|---|---|---|
tokens[].address | string | Token contract address |
tokens[].symbol | string | Token symbol |
tokens[].decimals | number | Token decimals |
tokens[].quality | number | Upstream token quality score — only 100 is served |
tokens[].chain | string | Chain the token is serveable on |
tokens[].curated | boolean | true for major assets (stables, WETH, WBTC, …) |
Results sort curated first, then by number of liquidity pools containing the token. One canonical address is returned per symbol.
If a chain's solver is unreachable, the endpoint falls back to a static curated list (Base, Ethereum, Unichain). This endpoint is public — no API key required.