Cambrian List DEXes API

By Cambrian Network base

GET /api/v1/evm/dexes

List DEXes (EVM)

Overview

Returns the list of decentralized exchanges (DEXes) indexed by Cambrian on supported EVM-compatible chains. Each entry includes the DEX's on-chain factory/router address, display name, and the AMM algorithm it implements (e.g., Uniswap V3-style concentrated liquidity, algebra, or other custom logic).

Business Value

  • DEX Discovery: Easily discover all DEXes operating across different EVM chains in one request
  • Integration Planning: Get comprehensive DEX information needed for multi-chain DeFi integrations
  • Algorithm Analysis: Understand the distribution of different AMM algorithms (Uniswap V3, Algebra, etc.) across chains
  • Chain Coverage: See which DEXes operate on specific chains like Base (chainId: 8453)
  • Contract Verification: Access verified DEX contract addresses for secure integrations

Endpoint Details

URL:

https://api.cambrian.org/evm/dexes

Method: GET
Authentication: Required via X-API-Key header

Query Parameters

Parameter Type Required Default Description
chain_id integer No 8453 EVM chain ID. Currently only 8453 (Base) is supported.

Response Field Descriptions

Response Field Type Description
chainId UInt16 EVM chain ID the DEX is deployed on.
address FixedString(42) On-chain factory/router contract address for the DEX.
name String Human-readable name of the DEX.
algorithm LowCardinality(FixedString(10)) AMM algorithm type used by the DEX (e.g., univ3, algb, na).

Examples

1. List all DEXes on Base

Retrieve the full list of DEXes indexed on Base (chain ID 8453), the default and only currently supported chain.

curl -X GET "https://api.cambrian.org/evm/dexes" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response:

Note: The result collection is limited to the first 10 rows for display purposes. The rows field reflects the true total count returned by the API (38).

[
  {
    "columns": [
      {
        "name": "chainId",
        "type": "UInt16"
      },
      {
        "name": "address",
        "type": "FixedString(42)"
      },
      {
        "name": "name",
        "type": "String"
      },
      {
        "name": "algorithm",
        "type": "LowCardinality(FixedString(10))"
      }
    ],
    "data": [
      [
        8453,
        "0x7b72c4002ea7c276dd717b96b20f4956c5c904e7",
        "9mm",
        "univ3"
      ],
      [
        8453,
        "0x420dd381b31aef6683db6b902084cb0ffece40da",
        "Aerodrome",
        "na"
      ],
      [
        8453,
        "0x9592cd9b267748cbfbde90ac9f7df3c437a6d51b",
        "Aerodrome",
        "univ3"
      ],
      [
        8453,
        "0x5e7bb104d84c7cb9b682aac2f3d509f5f406809a",
        "Aerodrome ICL",
        "univ3"
      ],
      [
        8453,
        "0x0fd83557b2be93617c9c1c1b6fd549401c74558c",
        "AlienBase",
        "univ3"
      ],
      [
        8453,
        "0xfaa5f5f4a3c6ed4446f7b6014322c954d218690c",
        "Bagelswap",
        "univ3"
      ],
      [
        8453,
        "0x38015d05f4fec8afe15d7cc0386a126574e8077b",
        "BaseSwap",
        "univ3"
      ],
      [
        8453,
        "0xdc323d16c451819890805737997f4ede96b95e3e",
        "Basex",
        "univ3"
      ],
      [
        8453,
        "0x3774bbad02ebd18a49919e1ed473163d83882dae",
        "Candswap",
        "na"
      ],
      [
        8453,
        "0x3539da2adb3f8311d203d334f25f7bee604a5c50",
        "Crescent",
        "univ3"
      ]
    ],
    "rows": 38
  }
]

This example shows the columnar table response format: columns describes each field's name and ClickHouse type, data contains one array per DEX row (in the same order as columns), and rows reports the total number of DEXes available (38 total on Base, with the first 10 shown here). Notable entries include Aerodrome (both na and univ3 algorithm variants), UniswapV3, SushiSwap, PancakeV3, and KyberSwap.

2. Explicitly specify chain_id

Same request, explicitly passing the chain_id query parameter instead of relying on the default.

curl -X GET "https://api.cambrian.org/evm/dexes?chain_id=8453" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response: Identical to Example 1: passing chain_id=8453 explicitly returns the same 38-row DEX list for Base, since 8453 is both the default and currently the only supported chain ID.

x402 Payment Option

This endpoint supports pay-per-use access via the x402 payment protocol (v2), letting you 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/dexes"
);
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/dexes")
        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


Related Endpoints

  • /evm/tokens - Returns a list of all erc20 tokens for the specified EVM chain, including their contract addresses, symbols, names, and decimal places.
  • /evm/price-current - Returns current price of a token calculated based on uniswap v3 and clones liquidity pools.
  • /evm/uniswap/v3/pools - Returns a list of all liquidity pools, including token pairs, fee tiers, and creation timestamps.
  • /evm/aero/v2/pools - Returns liquidity pools with summary metrics for the previous 7 completed UTC days.
  • /evm/sushi/v3/pools - Returns a list of all liquidity pools, including token pairs, fee tiers, and creation timestamps.