> For the complete documentation index, see [llms.txt](https://docs.squidrouter.exchange/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.squidrouter.exchange/chains-and-tokens/get-supported-tokens-and-chains.md).

# Supported Chains and Tokens

{% hint style="info" %}
See all our supported chains and tokens at [https://app.squidrouter.exchange](https://v2.app.squidrouter.exchange)
{% endhint %}

{% tabs %}
{% tab title="SDK" %}

```typescript
// access using squid.tokens
const fromToken = squid.tokens.find(
  (t) =>
    t.symbol.toLocaleLowerCase() === "USDC" && t.chainId === "1"
);

// access using squid.chains
const fromChain = squid.chains.find(
  (c) =>
    c.chainId === "1"
);

```

{% endtab %}

{% tab title="API" %}

```typescript
const getChains = async () => {
	const result = await axios.get('https://v2.api.squidrouter.exchange/v2/chains', {
		headers: {
			'x-integrator-id': integratorId,
		},
	});
	return result.data;
};

const getTokens = async () => {
	const result = await axios.get('https://v2.api.squidrouter.exchange/v2/tokens', {
		headers: {
			'x-integrator-id': integratorId,
		},
	});
	return result.data;
};
```

{% endtab %}

{% tab title="Widgets" %}
Every widget will automatically pull down all Squid's supported tokens and chains.

You can limit the available tokens and chains using this guide:[Default Chains and Tokens](/old-v2-documentation-deprecated/add-a-widget/widget/customization-guide/default-chains-and-tokens.md)
{% endtab %}
{% endtabs %}

***

## POST Endpoints: Dynamic Field Selection

The API also exposes POST versions of `/v2/tokens`, `/v2/chains`, and `/v2/sdk-info` that let you request only the fields you need, reducing payload size and improving bandwidth efficiency. The existing GET endpoints remain unchanged.

{% hint style="info" %}
**PR**: [#1876 - Update sdk-info, tokens, and chains controllers](https://github.com/0xsquid/squid-api/pull/1876)
{% endhint %}

### How It Works

* Send a `fields` array in the POST body to specify which fields to return.
* Fields containing dots (e.g. `chain.internalRpc`) are **rejected** with a `400` error to prevent nested property access.
* If the requested fields don't exist on an object, the empty object is excluded from the response.

### POST `/v2/tokens`

```json
// Request
{ "fields": ["symbol", "address", "chainId", "decimals", "usdPrice"] }

// Response
{
  "tokens": [
    { "symbol": "ETH", "address": "0xeee...eee", "chainId": "1", "decimals": 18, "usdPrice": 3200.50 }
  ]
}
```

Optional query parameters (e.g. `?chainId=1`) work the same as the GET endpoint.

### POST `/v2/chains`

```json
// Request
{ "fields": ["chainId", "chainName", "networkName", "chainIconURI"] }

// Response (single chain via ?chainId=1)
{
  "chain": { "chainId": "1", "chainName": "Ethereum", "networkName": "ethereum", "chainIconURI": "https://..." }
}

// Response (all chains)
{
  "chains": [
    { "chainId": "1", "chainName": "Ethereum", "networkName": "ethereum" }
  ]
}
```

### POST `/v2/sdk-info`

Requires **both** `tokenFields` and `chainFields`:

```json
// Request
{
  "tokenFields": ["symbol", "address", "chainId", "decimals"],
  "chainFields": ["chainId", "chainName", "chainIconURI"]
}

// Response
{
  "chains": [{ "chainId": "1", "chainName": "Ethereum", "chainIconURI": "https://..." }],
  "tokens": [{ "symbol": "ETH", "address": "0xeee...", "chainId": "1", "decimals": 18 }],
  "axelarscanURL": "https://axelarscan.io/",
  "isInMaintenanceMode": false
}
```

### Error Responses

All POST endpoints return `400 BAD_REQUEST` for validation failures:

| Scenario                                        | Error Message                                                                  |
| ----------------------------------------------- | ------------------------------------------------------------------------------ |
| Missing or empty `fields` array                 | Fields array is required and must contain at least one field                   |
| All fields are blocked                          | All requested fields are blocked. Please provide at least one valid field.     |
| Nested field paths (dots)                       | Nested field paths are not allowed. Please provide only top-level field names. |
| sdk-info missing `tokenFields` or `chainFields` | Both tokenFields and chainFields must be provided with at least one field each |

### Behavior Notes

* **Sorting preserved** — field filtering applies after sorting, so ordering is correct regardless of selected fields.
* **Feature flags enforced** — chain/token access restrictions are applied before field filtering.
* **Future-proof** — new fields on data models are automatically available via POST (unless blocked).

***

### Supported Chains

| networkIdentifier | chainId             | type    |
| ----------------- | ------------------- | ------- |
| ethereum          | 1                   | evm     |
| arbitrum          | 42161               | evm     |
| avalanche         | 43114               | evm     |
| optimism          | 10                  | evm     |
| polygon           | 137                 | evm     |
| base              | 8453                | evm     |
| linea             | 59144               | evm     |
| binance           | 56                  | evm     |
| mantle            | 5000                | evm     |
| fantom            | 250                 | evm     |
| moonbeam          | 1284                | evm     |
| celo              | 42220               | evm     |
| scroll            | 534352              | evm     |
| kava              | 2222                | evm     |
| filecoin          | 314                 | evm     |
| blast             | 81457               | evm     |
| fraxtal           | 252                 | evm     |
| immutable         | 13371               | evm     |
| osmosis           | osmosis-1           | cosmos  |
| crescent          | crescent-1          | cosmos  |
| kujira            | kaiyo-1             | cosmos  |
| terra-2           | phoenix-1           | cosmos  |
| juno              | juno-1              | cosmos  |
| umee              | umee-1              | cosmos  |
| comdex            | comdex-1            | cosmos  |
| evmos             | evmos\_9001-2       | cosmos  |
| regen             | regen-1             | cosmos  |
| stargaze          | stargaze-1          | cosmos  |
| assetmantle       | mantle-1            | cosmos  |
| axelarnet         | axelar-dojo-1       | cosmos  |
| cosmoshub         | cosmoshub-4         | cosmos  |
| injective         | injective-1         | cosmos  |
| agoric            | agoric-3            | cosmos  |
| fetch             | fetchhub-4          | cosmos  |
| ki                | kichain-2           | cosmos  |
| noble             | noble-1             | cosmos  |
| dydx              | dydx-mainnet-1      | cosmos  |
| neutron           | neutron-1           | cosmos  |
| carbon            | carbon-1            | cosmos  |
| sei               | pacific-1           | cosmos  |
| secret-snip       | secret-4            | cosmos  |
| stride            | stride-1            | cosmos  |
| acre              | acre\_9052-1        | cosmos  |
| archway           | archway-1           | cosmos  |
| bitcanna          | bitcanna-1          | cosmos  |
| bitsong           | bitsong-2b          | cosmos  |
| cheqd             | cheqd-mainnet-1     | cosmos  |
| celestia          | celestia            | cosmos  |
| coreum            | coreum-mainnet-1    | cosmos  |
| decentr           | mainnet-3           | cosmos  |
| desmos            | desmos-mainnet      | cosmos  |
| dymension         | dymension\_1100-1   | cosmos  |
| irisnet           | irishub-1           | cosmos  |
| impacthub         | ixo-5               | cosmos  |
| jackal            | jackal-1            | cosmos  |
| lumnetwork        | lum-network-1       | cosmos  |
| likecoin          | likecoin-mainnet-2  | cosmos  |
| kava-ibc          | kava\_2222-10       | cosmos  |
| nolus             | pirin-1             | cosmos  |
| akash             | akashnet-2          | cosmos  |
| chihuahua         | chihuahua-1         | cosmos  |
| cronos            | cronosmainnet\_25-1 | cosmos  |
| gravitybridge     | gravity-bridge-3    | cosmos  |
| mars              | mars-1              | cosmos  |
| migaloo           | migaloo-1           | cosmos  |
| persistence       | core-1              | cosmos  |
| omniflixhub       | omniflixhub-1       | cosmos  |
| quicksilver       | quicksilver-2       | cosmos  |
| sommelier         | sommelier-3         | cosmos  |
| terra             | columbus-5          | cosmos  |
| teritori          | teritori-1          | cosmos  |
| sentinel          | sentinelhub-2       | cosmos  |
| humans            | humans\_1089-1      | cosmos  |
| c4e               | perun-1             | cosmos  |
| saga              | ssc-1               | cosmos  |
| nibiru            | cataclysm-1         | cosmos  |
| bitcoin           | bitcoin             | bitcoin |
| lava              | lava-mainnet-1      | cosmos  |
| kyve              | kyve-1              | cosmos  |
| solana            | solana-mainnet-beta | solana  |
| xion              | xion-mainnet-1      | cosmos  |
| berachain         | 80094               | evm     |
| saga\_evm         | 5464                | cosmos  |
| elys              | elys-1              | cosmos  |
| allora            | allora-mainnet-1    | cosmos  |
| flippandomainnet  | 2.73727E+15         | cosmos  |
| soundmoney        | 2.73593E+15         | cosmos  |
| ngmi              | 2.71277E+15         | cosmos  |
| babylon           | bbn-1               | cosmos  |
| sui               | sui-mainnet         | sui     |
| gnosis            | 100                 | evm     |
| sonic             | 146                 | evm     |
| soneium           | 1868                | evm     |
| peaq              | 3338                | evm     |
| hyper-evm         | 999                 | evm     |
| xrpl-evm          | 1440000             | evm     |
| xrpl              | xrpl-mainnet        | xrpl    |
| stellar           | stellar-mainnet     | stellar |
| hedera            | 295                 | evm     |
| canton            | canton              | canton  |

***

### Supported Token Types

Squid supports tokens across multiple chain ecosystems. Each token returned by the API includes a `type` field indicating its ecosystem:

| Token Type | Description                                       |
| ---------- | ------------------------------------------------- |
| `evm`      | ERC-20 and native tokens on EVM-compatible chains |
| `cosmos`   | Native and IBC tokens on Cosmos SDK chains        |
| `bitcoin`  | Native BTC                                        |
| `solana`   | SPL tokens and native SOL                         |
| `stellar`  | Stellar assets and native XLM                     |
| `sui`      | Sui native and fungible tokens                    |
| `xrpl`     | XRP Ledger native and issued tokens               |

### Native Token Address

For EVM chains, the native token (ETH, BNB, MATIC, etc.) is represented using the following standard address:

```
0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
```

Use this address as the `fromToken` or `toToken` value in route requests when swapping to or from a chain's native asset.

{% hint style="info" %}
You can retrieve the full list of supported tokens with their types using the `GET /v2/tokens` or `POST /v2/sdk-info` endpoints. Each token object includes a `type` field matching the values above.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.squidrouter.exchange/chains-and-tokens/get-supported-tokens-and-chains.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
