Cambrian All Tokens API

By Cambrian Network base

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 status. Supports filtering by symbol or name, along with pagination via limit and offset parameters.

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. Enum: 1, 8453, 42161, 4663
filter string No - Search symbol or name of the token
limit integer No 100 Limit the number of results (min 1, max 10000)
offset integer No 0 Offset the results, allows you to skip a number of rows before starting to return rows (min 0, max 100000000)

Response Field Descriptions

Response Field Type Description
chainId UInt16 EVM chain ID the token belongs to
tokenAddress String Contract address of the ERC20 token
tokenSymbol String Token symbol (e.g., AAA)
tokenName String Full name of the token
tokenDecimals UInt8 Number of decimal places used by the token contract
isStable UInt8 Flag indicating whether the token is a stablecoin (1) or not (0)

Examples

1. List Tokens on Base

Retrieve a list of ERC20 tokens on Base (chain ID 8453), limited to 10 results.

curl -X GET "https://api.cambrian.org/evm/tokens?limit=10" \
  -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,
        "0x307a0926d788d9d43ca6a70d28bd617abaa3bd9d",
        "AAA",
        "AAA",
        18,
        0
      ],
      [
        8453,
        "0xa18bfe67e90afb6146934eda5bab47e039a240a4",
        "AAA",
        "AA",
        18,
        0
      ],
      [
        8453,
        "0x53b83bb2e34b6b7331a8e05f6a0ebbee3145be9c",
        "AAA",
        "AAA",
        18,
        0
      ],
      [
        8453,
        "0xa7477167c142e2289cf057cbf8f9198632e98cd3",
        "AAA",
        "AAA",
        18,
        0
      ],
      [
        8453,
        "0xb6519dda5826bc69dcc1ec381cc6a955f6183438",
        "AAA",
        "ANation",
        18,
        0
      ],
      [
        8453,
        "0x3fb46ea3ead4a48b00194183b08a96996302cef0",
        "AAA",
        "AAADOG",
        18,
        0
      ],
      [
        8453,
        "0xf85437811ac23d5d4f16e621f036d7323537b78f",
        "AAA",
        "AAA",
        18,
        0
      ],
      [
        8453,
        "0xb0f70b45754529eb100f346f50695c1d596f1ce5",
        "AAA",
        "Orcadia",
        18,
        0
      ],
      [
        8453,
        "0x477385341b929d96a9dad9cbb2b9cf3e7ba58675",
        "AAA",
        "AAA",
        18,
        0
      ],
      [
        8453,
        "0x25f82ab546fe1c6dc1020c3090bec921d13e00b6",
        "AAA",
        "aaa",
        18,
        0
      ]
    ],
    "rows": 10
  }
]

Result collections are limited to 10 items here. The response above lists 10 ERC20 tokens on Base (chain ID 8453), each with 18-decimal precision, and none of them are flagged as stablecoins (isStable: 0).

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

  1. Send a normal request to the endpoint (no API key needed)
  2. Server returns 402 Payment Required with payment details
  3. The x402 SDK automatically signs a payment authorization with your wallet
  4. The SDK resubmits the request with the signed payment
  5. 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