# Ethereum

> Ethereum mainnet (1). Ids, anchors, contracts, venues and the /v1/chains/ethereum/* data family.

Source: https://getchord.xyz/docs/networks/ethereum/

| | |
| --- | --- |
| Chain id | `1` (key `ethereum` in `/v1/chains/{chain}/*`) |
| Gas | ETH (zero address in the API; WETH `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`) |
| Blocks | ~12 s |
| Stable anchors | USDC `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48` and USDT `0xdAC17F958D2ee523a2206206994597C13D831ec7` (6 decimals); DAI `0x6B175474E89094C44Da98b954EedeAC495271d0F` (18 decimals) |
| Explorer | [etherscan.io](https://etherscan.io) |
| Chord index since | 2026-10-08 17:00 UTC |

## Chord contracts

The same proxies as every EVM chain Chord routes on: router `0x1b1fee89a381e595fe6536b99ba91f3e16e9601a`, fee collector `0x6c66229675fd9ceda9a9b2ea2bd983b3d8255834`, adapter registry `0x6cf25d2af1a58d7094b0ac253ae616a8e1f2ea3f`. Adapters come with every quote. Protocol fee: 5 bps by default, 0 on USDC, USDT, DAI, WETH and WBTC.

## USDT approvals

USDT on Ethereum refuses a new `approve` while the spender still holds a non-zero allowance. Approve exactly the input amount (the swap uses all of it, so the allowance returns to 0). When an older allowance is left over, send `approve(spender, 0)` first: `/v1/meta/quote` and `/v1/meta/swap` say so with `approval.resetFirst: true`.

## Venues

Routing covers Uniswap V2, V3 and V4, PancakeSwap V3, SushiSwap V2 and V3. Curve, Fluid, Balancer and Ekubo are not routed yet; the data index reads the venues that emit Uniswap-shaped swap events (about 93 % of the chain's swaps). `GET /v1/chains/ethereum/venues` is the live list with share. Common ids: `uniswap_v3` · `uniswap_v4` · `uniswap_v2` · `pancake_v3` · `sushi_v3` · `sushi_v2` · `ring_v2` · `supernova_cl` · `shibaswap` · `fraxswap`.

## Endpoints

| Need | Call |
| --- | --- |
| Freshness and coverage | `GET /v1/chains/ethereum/status` |
| Chain totals, venue share, hourly and daily | `GET /v1/chains/ethereum/overview` |
| Every token traded in 24h | `GET /v1/chains/ethereum/tokens` |
| One token's hourly tape and venue split, its swaps | `GET /v1/chains/ethereum/token/{address}`, `…/token/{address}/trades` |
| Search | `GET /v1/tokens/search?q=&chain=1` |
| Candles | `GET /v1/candles?chain=1&token=` |
| A wallet's swaps and PnL | `GET /v1/chains/ethereum/wallet/{address}`, `…/wallet/{address}/trades` |
| Quote and swap | `GET /v1/quote?chain=1…`, `POST /v1/swap { chain: 1 }`, native ETH goes in `value` |

```bash
curl -s "https://api.getchord.xyz/v1/quote?chain=1&inputMint=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&outputMint=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&amount=1000000000000000000"
```

1 WETH to USDC on 2026-10-15: `outputAmount` 2452700960 (2,452.70 USDC), split 96 % Uniswap V3 and 4 % PancakeSwap V3.

There are no top-wallet, holder or liquidity boards for Ethereum yet.
