Listed tokens
Browse tokens that have been verified or marked listed
The token list endpoint shows every ERC20 / ERC721 / ERC1155 token we've indexed, with optional filters for verification, type, and search.
GET /api/tokens/
Query parameters
| Parameter | Type | Notes |
|---|---|---|
address | string | Exact match. Use this for direct contract lookup. |
search | string | Matches across symbol, name, and address — see Search behavior below. |
is_erc20 | boolean | true for ERC20s only |
is_erc721 | boolean | true for NFT collections |
is_erc1155 | boolean | true for ERC1155 multi-token contracts |
verified | boolean | true for tokens we've verified |
common | boolean | true for tokens promoted as "common" (USDC, USDT, ETH, STRK, ...) |
public | boolean | Public-listed tokens (community submissions accepted) |
ordering | string | Any Token field, prefix with - for descending. Useful options: name, -name, created_on, -created_on, current_price_usd, -current_price_usd, holders, -holders, symbol. |
page, limit | integers | Pagination |
Example
Response
json
1{2 "count": 6,3 "results": [4 {5 "id": 1,6 "address": "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8",7 "symbol": "USDC",8 "name": "USD Coin",9 "decimals": 6,10 "is_erc20": true,11 "is_erc721": false,12 "is_erc1155": false,13 "verified": true,14 "common": true,15 "public": true,16 "current_price_usd": "1.000123"17 }18 ]19}Search behavior
The search parameter runs three checks in order and returns the first one that produces a match. It's deliberately address-aware so a wallet user pasting whatever they see on screen (short-form, full-form, partial fragment) finds the right row.
- Exact address — if the input is hex-shaped, it's padded to the canonical 64-hex-char form before comparison. So
0x53c91253...(63 chars, leading zero stripped) finds the same row as0x053c91253...(64 chars, stored form). - Exact symbol or name — case-insensitive equality on
symbolorname.USDC,usdc,Ether,Starknet Tokenall hit directly. - Substring fallback — case-insensitive contains on
symbolandname. Address-substring matching is only enabled for hex-shaped queries that are at least 4 hex chars long (this prevents?search=18from returning every token whose 64-hex-char address happens to contain "18", which used to return ~3.4k rows).
For hex-shaped queries the 0x prefix is optional — 0x53c91 and 53c91 resolve to the same match set.
bash
1# All three find USDC2curl '.../api/tokens/?search=USDC' # exact symbol3curl '.../api/tokens/?search=USD%20Coin' # exact name4curl '.../api/tokens/?search=0x53c91253...' # short-form address, padded match5curl '.../api/tokens/?search=53c91' # 5-char hex fragment, substring on addressSee also
- All tokens - same endpoint, no verification filter
- Comparison: listed vs. all