Cambrian All Tokens API
GET /api/v1/evm/tokens
All Tokens
Overview
Returns a list of all ERC20 tokens for a specified EVM chain, including their contract addresses, symbols, names, decimal places, and stablecoin classification. You can filter by symbol/name and paginate results using limit and offset.
Business Value
- Token Discovery: Access a comprehensive catalog of verified tokens across EVM chains for integration purposes
- Contract Verification: Get validated contract addresses to avoid interaction with malicious or fake tokens
- Metadata Standardization: Retrieve standardized token information including symbols, names, and decimal precision
- Chain Compatibility: Support for multiple EVM-compatible networks through a single endpoint
- Application Development: Essential data for wallets, DEXs, and portfolio tracking applications
Endpoint Details
URL:
https://api.cambrian.org/evm/tokens
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| chain_id | integer | No | 8453 | EVM chain ID. |
| filter | string | No | - | Search symbol or name of the token |
| limit | integer | No | 100 | Limit the number of results. |
| offset | integer | No | 0 | Offset the results, allows you to skip a number of rows before starting to return rows. |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| chainId | UInt16 | EVM chain ID the token belongs to |
| tokenAddress | String | ERC20 token contract address |
| tokenSymbol | String | Token symbol |
| tokenName | String | Token name |
| tokenDecimals | UInt8 | Number of decimal places for the token |
| isStable | UInt8 | Indicates whether the token is a stablecoin (1) or not (0) |
Examples
1. List All Tokens on Base
Retrieve all ERC20 tokens registered on the Base chain (default chain_id=8453) using default pagination.
curl -X GET "https://api.cambrian.org/evm/tokens" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{
"name": "chainId",
"type": "UInt16"
},
{
"name": "tokenAddress",
"type": "String"
},
{
"name": "tokenSymbol",
"type": "String"
},
{
"name": "tokenName",
"type": "String"
},
{
"name": "tokenDecimals",
"type": "UInt8"
},
{
"name": "isStable",
"type": "UInt8"
}
],
"data": [
[
8453,
"0xa18bfe67e90afb6146934eda5bab47e039a240a4",
"AAA",
"AA",
18,
0
],
[
8453,
"0x307a0926d788d9d43ca6a70d28bd617abaa3bd9d",
"AAA",
"AAA",
18,
0
],
[
8453,
"0x54c7c54599f652bd697a9bdbd7b5b18266bad268",
"AAA",
"AAA",
18,
0
],
[
8453,
"0xf8bade2c5820d6710c16a95c6cc4dc4e77bf23ad",
"AAA",
"AAA",
18,
0
],
[
8453,
"0x1cc57891b33f0b4731a553aca20a5beb8fc4efc7",
"AAA",
"AAA token",
18,
0
],
[
8453,
"0x7075017fcb2a7d7361b7917f44553db7645a55cd",
"AAA",
"AAA",
18,
0
],
[
8453,
"0x5ecbbca9beedc7a18996b6955fb1348b1ac612a9",
"AAA",
"AAA",
18,
0
],
[
8453,
"0x26257946eb6fe23972a9a99d7976539ddb202fad",
"AAA",
"AAA CAT",
18,
0
],
[
8453,
"0x90d15b7349d9e077cbe3be8982aba2a33600e500",
"AAA",
"aaa",
18,
0
],
[
8453,
"0x8352e40f4a9e38a3049f1ee094a5c516adb2a623",
"AAA",
"aaa",
18,
0
]
],
"rows": 100
}
]
Note: result collections are limited to 10 items in this documentation example. The rows field reflects the total number of matching tokens available (100 for this query), while data shows the returned page.
This example returns tokens on the Base chain whose symbol/name begins with "AAA", each including its contract address, symbol, name, decimals, and stablecoin flag.
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2): pay $0.05 USDC per request using blockchain micropayments. No API key required.
Quick Start (TypeScript)
npm install @x402/fetch @x402/evm viem
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(signer));
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const response = await fetchWithPayment(
"https://x402.cambrian.org/evm/tokens"
);
const data = await response.json();
Quick Start (Python)
pip install "x402[httpx]"
import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
async def main():
client = x402Client()
account = Account.from_key(os.getenv("EVM_PRIVATE_KEY"))
register_exact_evm_client(client, EthAccountSigner(account))
async with x402HttpxClient(client) as http:
response = await http.get("https://x402.cambrian.org/evm/tokens")
print(response.json())
asyncio.run(main())
Payment Flow
- Send a normal request to the endpoint (no API key needed)
- Server returns
402 Payment Requiredwith payment details - The x402 SDK automatically signs a payment authorization with your wallet
- The SDK resubmits the request with the signed payment
- Server verifies payment and returns the API response
The x402 SDK handles steps 2 through 5 automatically.
Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request
Related Endpoints
- /evm/price-current - Returns current price of a token calculated based on uniswap v3 and clones liquidity pools.
- /evm/price-hour - Returns historical hourly price data for a specified EVM token.
- /evm/chains - Returns information about supported EVM blockchain networks
- /evm/dexes - List of DEXes on EVM compatible chains
- /evm/tvl/top-owners - Returns top token holders for a given token address.