Cambrian List DEXes API
GET /api/v1/evm/dexes
List DEXes
Overview
Returns the list of decentralized exchanges (DEXes) indexed on supported EVM-compatible chains. Each entry identifies a DEX by its factory/router address, human-readable name, and the pool algorithm it implements (e.g. Uniswap V3-style concentrated liquidity or Uniswap V2-style constant product).
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. Allowed values: 1, 8453, 42161, 4663. |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| chainId | UInt16 | EVM chain ID the DEX is deployed on |
| address | FixedString(42) | Contract address identifying the DEX (factory/router) |
| name | String | Human-readable DEX name |
| algorithm | LowCardinality(FixedString(10)) | Pool algorithm implemented by the DEX (e.g. univ3, unina, aero) |
Examples
1. List DEXes on Base
Retrieves all DEXes indexed for the default chain (Base, chain_id=8453).
curl -X GET "https://api.cambrian.org/evm/dexes" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{
"name": "chainId",
"type": "UInt16"
},
{
"name": "address",
"type": "FixedString(42)"
},
{
"name": "name",
"type": "String"
},
{
"name": "algorithm",
"type": "LowCardinality(FixedString(10))"
}
],
"data": [
[
8453,
"0x7b72c4002ea7c276dd717b96b20f4956c5c904e7",
"9mm",
"unina"
],
[
8453,
"0x420dd381b31aef6683db6b902084cb0ffece40da",
"Aerodrome",
"aero"
],
[
8453,
"0x5e7bb104d84c7cb9b682aac2f3d509f5f406809a",
"Aerodrome ICL",
"univ3"
],
[
8453,
"0x9592cd9b267748cbfbde90ac9f7df3c437a6d51b",
"Aerodrome ICL",
"univ3"
],
[
8453,
"0xade65c38cd4849adba595a4323a8c7ddfe89716a",
"Aerodrome ICL",
"univ3"
],
[
8453,
"0xf8f2eb4940cfe7d13603dddd87f123820fc061ef",
"Aerodrome ICL",
"univ3"
],
[
8453,
"0x0fd83557b2be93617c9c1c1b6fd549401c74558c",
"AlienBase",
"univ3"
],
[
8453,
"0xfaa5f5f4a3c6ed4446f7b6014322c954d218690c",
"Bagelswap",
"unina"
],
[
8453,
"0x38015d05f4fec8afe15d7cc0386a126574e8077b",
"BaseSwap",
"unina"
],
[
8453,
"0xdc323d16c451819890805737997f4ede96b95e3e",
"Basex",
"unina"
]
],
"rows": 40
}
]
Note: Each response is limited to 10 items, even though 40 total matching rows (rows) exist for Base.
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/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
- 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