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

# Chains & Contracts

> Supported chains, their identifiers, and Mayan's deployed contract addresses.

Every chain Mayan supports, with the identifiers you pass to the API and the contracts you interact with.

<Note>
  Chains are identified by their **Wormhole chain ID**, not their EVM chain ID. Base is `30`, not `8453`. Passing an EVM chain ID where a Wormhole chain ID is expected will be rejected or produce the wrong result.
</Note>

## Supported chains

| Chain           | Name in API | Wormhole chain ID | EVM chain ID |
| --------------- | ----------- | ----------------- | ------------ |
| Solana          | `solana`    | 1                 | n/a          |
| Ethereum        | `ethereum`  | 2                 | 1            |
| BNB Smart Chain | `bsc`       | 4                 | 56           |
| Polygon         | `polygon`   | 5                 | 137          |
| Avalanche       | `avalanche` | 6                 | 43114        |
| Sui             | `sui`       | 21                | n/a          |
| Arbitrum        | `arbitrum`  | 23                | 42161        |
| Optimism        | `optimism`  | 24                | 10           |
| Base            | `base`      | 30                | 8453         |
| Linea           | `linea`     | 38                | 59144        |
| Unichain        | `unichain`  | 44                | 130          |
| HyperEVM        | `hyperevm`  | 47                | 999          |
| Monad           | `monad`     | 48                | 143          |
| Fogo            | `fogo`      | 51                | n/a          |
| HyperCore       | `hypercore` | 65000             | n/a          |

Support differs by direction. `GET https://sia.mayan.finance/v10/init` returns the live list with `originActive` and `destinationActive` per chain. Read it rather than assuming a chain works both ways.

## EVM contracts

The Forwarder is the single entry point for EVM swaps, and is deployed at the same address on every supported EVM chain.

| Contract        | Address                                      |
| --------------- | -------------------------------------------- |
| Mayan Forwarder | `0x337685fdaB40D39bd02028545a4FfA7D287cC3E2` |

Approve the Forwarder for ERC20 inputs before swapping. See [Forwarder Contract](/integration/forwarder-contract).

### Deposit address contracts

| Contract                              | Address                                      |
| ------------------------------------- | -------------------------------------------- |
| Deposit address factory               | `0xfa829c5E1efc9d788280a8213cb0713be5474F7d` |
| Deposit address wallet implementation | `0xFD7188cf0Ac99705Cc8c595a1d198C2a43df467C` |

See [Deposit Addresses](/features/deposit-addresses).

## Solana programs

| Program           | Address                                        |
| ----------------- | ---------------------------------------------- |
| Swift v2          | `mayan34VedncxdK2XobtvWFDXQASUTBXhUVzt2kKgny`  |
| Swift             | `BLZRi6frs4X4DNLw56V4EXai1b6QVESN1BhHBTYM9VcY` |
| MCTP              | `dkpZqrxHFrhziEMQ931GLtfy11nFkCsfMftH9u6QwBU`  |
| Fast MCTP         | `Gx9rivpS3YR8pBFwMuP6omYqVxunpLvLkNn7ubNyuZZ5` |
| Auction           | `8QJmxZcEzwuYmCPy6XqgN2sHcYCcFq6AEfBMJZZuLo5a` |
| Mayan             | `FC4eXxkyrMPTjiYUpp4EAnkmwMbQyZ6NDCh1kfLn6vsf` |
| Fee manager       | `5VtQHnhs2pfVEr68qQsbTRwKh4JV5GTu9mBHgHFxpHeQ` |
| Deposit addresses | `GFRP4yXUjvcQemf2zRJN8w9sPNaDk5PyBUQdPHD1AzLp` |
| Payload writer    | `DwMLtdtJqJQkHzNcrdTBuWHJByJfgpKBnvFvzyKdy3cU` |

## Sui objects

| Object                  | ID                                                                   |
| ----------------------- | -------------------------------------------------------------------- |
| Swift state             | `0x7ac01a7c14c53098a41593c7623823bb677b5201fb3ee35b75b47cfc6c6c6f40` |
| Swift fee manager state | `0xe42174b6d742f40bd2b67b967542b21e6d7433f2d277a80bb59866ac73ff3f52` |
| MCTP state              | `0xb787fe0f7530b4fd2162fa0cc92f4f6c5a97c54b4c5c55eb04ab29f4b803ac9c` |
| MCTP fee manager state  | `0xa1b4a96ce93d36dd0bbce0adc39533a07d2f32928918c80cd6fe7868320978f2` |

## HyperCore contracts

| Contract           | Chain    | Address                                      |
| ------------------ | -------- | -------------------------------------------- |
| Bridge             | Arbitrum | `0x2df1c51e09aecf9cacb7bc98cb1742757f163df7` |
| Deposit processor  | Arbitrum | `0xdDd77e62C848C3334f1148d4F1457FC59ede4E4B` |
| Withdraw processor | Arbitrum | `0xe087f468efaece33b6b9b15c9448b8268bc3efe4` |
| Deposit processor  | HyperEVM | `0x56032241c0adab58a29b13e94fb595a4bc414e33` |

See [HyperCore Deposit & Withdraw](/integration/hyperliquid).

## API endpoints

| Service                | URL                                     |
| ---------------------- | --------------------------------------- |
| Quote API              | `https://price-api.mayan.finance/v3`    |
| Explorer API           | `https://explorer-api.mayan.finance/v3` |
| Chain and token config | `https://sia.mayan.finance/v10/init`    |

## Tokens

Any token with a contract address is routable. `GET https://price-api.mayan.finance/v3/tokens?chain=solana` returns the whitelisted list for a chain, and dropping the `chain` parameter returns every chain.

## Verifying addresses

Every address on this page is exported by the SDK as `addresses`, so you can read them at runtime rather than hardcoding:

```typescript theme={null}
import { addresses } from "@mayanfinance/swap-sdk";

console.log(addresses.MAYAN_FORWARDER_CONTRACT);
```

All contracts are public and audited. See [Security & Audits](/resources/audits).
