> ## Documentation Index
> Fetch the complete documentation index at: https://docs.1tx.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Chains API

> Get supported blockchains and contract addresses

## List All Chains

<span style={{color: '#10B981', fontWeight: 'bold'}}>GET</span> `/chains`

Retrieve a list of all supported blockchains with their contract addresses and configuration.

### Request

```bash theme={null}
curl "https://api.1tx.fi/api/v1/chains"
```

### Response

```json theme={null}
{
  "chains": [
    {
      "chainId": 8453,
      "name": "base",
      "displayName": "Base Mainnet",
      "blockExplorer": "https://basescan.org",
      "isTestnet": false,
      "contracts": {
        "instrumentRegistry": "0x94CC7106f7741FA2d374Ca7b808645fF43b6d2a3",
        "swapPoolRegistry": "0xe6C6e82970b5f320B8E3a97fA1aDa5e06fb168b4",
        "router": "0xbFdd5bEdC0cB9B8795A93C2a1fB634012C8F99bC",
        "quoter": "0x0d5e0f971ed27fbff6c2837bf31316121532048d",
        "cctpBridge": "0x76332AE6F24597cf37d38E5deB9f2f4172003E64",
        "cctpReceiver": "0xAA4a2CFd29734dA2041a56A716e408F1A610f85E",
        "adapters": {
          "aave": "0xBACC8882E2a9f5a67570E1BC10d87062dB68dfDd",
          "compound": "0x24fe3D7a9aAdD40033F0C19Ad10D1dF2ea6F7c1B",
          "morpho": "0x12A41B400ca8f81FD09DCcf83Be4632e681Ed2B5",
          "euler": "0x873C9fFCc888622EF322746F653Bce12450E0Fd8",
          "fluid": "0x5fD5b1EF0a8FE892e5bdBFbd35CeEc7B3B950372"
        }
      },
      "uniswap": {
        "poolManager": "0x498581ff718922c3f8e6a244956af099b2652b2b",
        "positionManager": "0x7c5f5a4bbd8fd63184577525326123b519429bdc",
        "swapRouter": "0x6fF5693b99212Da76ad316178A184AB56D299b43",
        "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
      },
      "cctp": {
        "supported": true,
        "domain": 6,
        "tokenMessenger": "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
        "messageTransmitter": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"
      },
      "tokens": {
        "USDC": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "EURC": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
        "USDbC": "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
        "GHO": "0x6Bb7a212910682DCFdbd5BCBb3e28FB4E8da10Ee",
        "USDS": "0xA88594D404727625A9437C3f886C7643872296AE",
        "DAI": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
        "eUSD": "0xCfA3Ef56d303AE4fAabA0592388F19d7C3399FB4",
        "WETH": "0x4200000000000000000000000000000000000006"
      }
    }
  ],
  "total": 3
}
```

### Response Fields

| Field                          | Type    | Description                          |
| ------------------------------ | ------- | ------------------------------------ |
| `chainId`                      | number  | The blockchain's chain ID            |
| `name`                         | string  | Internal chain name (lowercase)      |
| `displayName`                  | string  | Human-readable chain name            |
| `blockExplorer`                | string  | URL to the block explorer            |
| `isTestnet`                    | boolean | Whether this is a testnet            |
| `contracts`                    | object  | 1tx contract addresses               |
| `contracts.instrumentRegistry` | string  | InstrumentRegistry contract address  |
| `contracts.swapPoolRegistry`   | string  | SwapPoolRegistry contract address    |
| `contracts.router`             | string  | Router contract address              |
| `contracts.quoter`             | string  | Quoter contract address              |
| `contracts.cctpBridge`         | string  | CCTP bridge adapter address          |
| `contracts.cctpReceiver`       | string  | CCTP receiver address                |
| `contracts.adapters`           | object  | Protocol adapter addresses           |
| `uniswap`                      | object  | Uniswap V4 contract addresses        |
| `cctp`                         | object  | CCTP configuration for the chain     |
| `tokens`                       | object  | Common token addresses on this chain |

***

## Get Single Chain

<span style={{color: '#10B981', fontWeight: 'bold'}}>GET</span> `/chains/:chainId`

Retrieve detailed information about a specific blockchain.

### Request

```bash theme={null}
curl "https://api.1tx.fi/api/v1/chains/8453"
```

### Path Parameters

| Parameter | Type   | Required | Description                        |
| --------- | ------ | -------- | ---------------------------------- |
| `chainId` | number | Yes      | The chain ID (e.g., 8453 for Base) |

### Response

```json theme={null}
{
  "chainId": 8453,
  "name": "base",
  "displayName": "Base Mainnet",
  "blockExplorer": "https://basescan.org",
  "isTestnet": false,
  "contracts": {
    "instrumentRegistry": "0x94CC7106f7741FA2d374Ca7b808645fF43b6d2a3",
    "swapPoolRegistry": "0xe6C6e82970b5f320B8E3a97fA1aDa5e06fb168b4",
    "router": "0xbFdd5bEdC0cB9B8795A93C2a1fB634012C8F99bC",
    "quoter": "0x0d5e0f971ed27fbff6c2837bf31316121532048d",
    "cctpBridge": "0x76332AE6F24597cf37d38E5deB9f2f4172003E64",
    "cctpReceiver": "0xAA4a2CFd29734dA2041a56A716e408F1A610f85E",
    "adapters": {
      "aave": "0xBACC8882E2a9f5a67570E1BC10d87062dB68dfDd",
      "compound": "0x24fe3D7a9aAdD40033F0C19Ad10D1dF2ea6F7c1B",
      "morpho": "0x12A41B400ca8f81FD09DCcf83Be4632e681Ed2B5",
      "euler": "0x873C9fFCc888622EF322746F653Bce12450E0Fd8",
      "fluid": "0x5fD5b1EF0a8FE892e5bdBFbd35CeEc7B3B950372"
    }
  },
  "uniswap": {
    "poolManager": "0x498581ff718922c3f8e6a244956af099b2652b2b",
    "positionManager": "0x7c5f5a4bbd8fd63184577525326123b519429bdc",
    "swapRouter": "0x6fF5693b99212Da76ad316178A184AB56D299b43",
    "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
  },
  "cctp": {
    "supported": true,
    "domain": 6,
    "tokenMessenger": "0x28b5a0e9C621a5BadaA536219b3a228C8168cf5d",
    "messageTransmitter": "0x81D40F21F12A8F0E3252Bccb954D722d4c464B64"
  },
  "tokens": {
    "USDC": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "EURC": "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
    "USDbC": "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
    "GHO": "0x6Bb7a212910682DCFdbd5BCBb3e28FB4E8da10Ee",
    "USDS": "0xA88594D404727625A9437C3f886C7643872296AE",
    "DAI": "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
    "eUSD": "0xCfA3Ef56d303AE4fAabA0592388F19d7C3399FB4",
    "WETH": "0x4200000000000000000000000000000000000006"
  }
}
```

### Error Responses

**404 Not Found** - Chain not supported

```json theme={null}
{
  "statusCode": 404,
  "message": "Chain 1 not found or not supported"
}
```

***

## TypeScript Example

```typescript theme={null}
const BASE_URL = 'https://api.1tx.fi/api/v1';

// Get all supported chains
async function getChains() {
  const response = await fetch(`${BASE_URL}/chains`);
  return response.json();
}

// Get specific chain details
async function getChain(chainId: number) {
  const response = await fetch(`${BASE_URL}/chains/${chainId}`);
  if (!response.ok) {
    throw new Error(`Chain ${chainId} not supported`);
  }
  return response.json();
}

// Usage
const { chains } = await getChains();
console.log(`Supported chains: ${chains.map(c => c.displayName).join(', ')}`);

// Get Base chain contracts
const baseChain = await getChain(8453);
console.log('InstrumentRegistry:', baseChain.contracts.instrumentRegistry);
console.log('Aave Adapter:', baseChain.contracts.adapters.aave);
```

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Instruments API" icon="fingerprint" href="/api-reference/endpoints/instruments">
    Query DeFi instruments
  </Card>

  <Card title="Positions API" icon="wallet" href="/api-reference/endpoints/positions">
    Query user positions
  </Card>
</CardGroup>
