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

# Contract Addresses

> Official contract addresses and verification guide

Always verify contract addresses from official sources:

* This documentation
* [TED Protocol GitHub](https://github.com/tedprotocol)
* Block explorers (Etherscan, Arbiscan, etc.)

<Warning>
  Addresses from unofficial channels may be scams.
</Warning>

***

### TED Protocol Contracts

#### Protocol Contracts (Mainnet)

The following protocol contracts are shared across all mainnet networks (deployed via CREATE2):

| Contract                | Address                                      | Description                          |
| ----------------------- | -------------------------------------------- | ------------------------------------ |
| Cross-Chain Router      | `0x0C3A5dAAa4D2cA6B31629FeC31CF84A12DCb5268` | Core swap and bridge entry point     |
| Destination Receiver    | `0x88c61b44662b54f571e133619004d10dFbA5c8Fd` | Receives tokens on destination chain |
| Quote Router            | `0x3c8254C48b458513AC66Ad3e0da00499F3FcD298` | Multi-DEX quote aggregation          |
| EIP-712 Relayer         | `0x0Aa7A9ea7863BB829939c9d7D50321f32b13D388` | Gasless meta-transaction relayer     |
| EIP-7702 Delegate       | `0x0733De884289DA5D1349db8d09D7b14f4Ab1EF5c` | Account Abstraction delegate         |
| Permit2                 | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | Uniswap Permit2 (canonical)          |
| LayerZero Endpoint      | `0x1a44076050125825900e736c501f859c50fE728c` | LayerZero V2 mainnet endpoint        |
| CCTP MessageTransmitter | `0x81D40F21F12A8F0E3252Bccb954D722d4c464B64` | Circle CCTP mainnet transmitter      |

<Note>
  CCTP is available on Ethereum, Arbitrum, Base, and Polygon. Not available on Kaia and BNB Chain.
</Note>

#### Protocol Contracts (Testnet)

The following protocol contracts are shared across all testnet networks:

| Contract                | Address                                      | Description                          |
| ----------------------- | -------------------------------------------- | ------------------------------------ |
| Cross-Chain Router      | `0x586CcB519c6F863c78c9D206045f9120452b2832` | Core swap and bridge entry point     |
| Destination Receiver    | `0xC52b7F85b6087Dd37D58F26B1833f797FBf9Bb39` | Receives tokens on destination chain |
| Quote Router            | `0xF3d0C66887C3F376DB91E7976A4cce800D041640` | Multi-DEX quote aggregation          |
| EIP-712 Relayer         | `0xF158b14F449599bB59d2a27630CC26e0D33A8f5a` | Gasless meta-transaction relayer     |
| EIP-7702 Delegate       | `0x7f5da92d159815388B9fa51bF172425a67256314` | Account Abstraction delegate         |
| Permit2                 | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | Uniswap Permit2 (canonical)          |
| LayerZero Endpoint      | `0x6EDCE65403992e310A62460808c4b910D972f10f` | LayerZero V2 testnet endpoint        |
| CCTP MessageTransmitter | `0xE737e5cEBEEBa77EFE34D4aa090756590b1CE275` | Circle CCTP testnet transmitter      |

<Note>
  CCTP is available on Sepolia, Arbitrum Sepolia, Base Sepolia, and Polygon Amoy. Not available on Kaia Kairos and BNB Testnet.
</Note>

#### Token Contracts (Testnet)

| Network          | Token | Address                                      | Decimals |
| ---------------- | ----- | -------------------------------------------- | -------- |
| Ethereum Sepolia | TEDP  | `0x4Fb9261aECbEF22b1bd251aA89a245Cf7828bE76` | 18       |
| Ethereum Sepolia | USDT  | `0x0Dd84C353C07C0c4152bFc935A75b5ec5fe843bC` | 6        |
| Ethereum Sepolia | USDC  | `0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238` | 6        |
| Arbitrum Sepolia | TEDP  | `0x76Ca547AeCF99f19435A9Ba64e8Fba00240A2BCb` | 18       |
| Arbitrum Sepolia | USDT  | `0xaF84C3d489c416b5252Ff75ac9d6E0C636277E40` | 6        |
| Arbitrum Sepolia | USDC  | `0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d` | 6        |
| Base Sepolia     | TEDP  | `0x42E97A7Fb4a5407c12e0a3836618C43d4701C206` | 18       |
| Base Sepolia     | USDT  | `0xaF84C3d489c416b5252Ff75ac9d6E0C636277E40` | 6        |
| Base Sepolia     | USDC  | `0x036CbD53842c5426634e7929541eC2318f3dCF7e` | 6        |
| Polygon Amoy     | TEDP  | `0x1468F83f94B60f44F814271D8319170bDD15616b` | 18       |
| Polygon Amoy     | USDT  | `0xaF84C3d489c416b5252Ff75ac9d6E0C636277E40` | 6        |
| Polygon Amoy     | USDC  | `0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582` | 6        |
| Kaia Kairos      | TEDP  | `0x686127EA01790FF6b74A2bfaAffccD195C140714` | 18       |
| Kaia Kairos      | USDT  | `0xd077a400968890eacc75cdc901f0356c943e4fdb` | 6        |
| BNB Testnet      | TEDP  | `0xceE75934E32bfC9Fd149357a151891e1370C08E4` | 18       |
| BNB Testnet      | USDT  | `0xaF84C3d489c416b5252Ff75ac9d6E0C636277E40` | 6        |

***

### TEDP Token Addresses

#### Mainnet

Ethereum, Arbitrum, Base, Polygon, BNB Chain, Kaia addresses are pending.

#### Testnet

| Network                                                                                          | Address                                      |
| ------------------------------------------------------------------------------------------------ | -------------------------------------------- |
| [Sepolia](https://sepolia.etherscan.io/token/0x4Fb9261aECbEF22b1bd251aA89a245Cf7828bE76)         | `0x4Fb9261aECbEF22b1bd251aA89a245Cf7828bE76` |
| [Arbitrum Sepolia](https://sepolia.arbiscan.io/token/0x76Ca547AeCF99f19435A9Ba64e8Fba00240A2BCb) | `0x76Ca547AeCF99f19435A9Ba64e8Fba00240A2BCb` |
| [Base Sepolia](https://sepolia.basescan.org/token/0x42E97A7Fb4a5407c12e0a3836618C43d4701C206)    | `0x42E97A7Fb4a5407c12e0a3836618C43d4701C206` |
| [Polygon Amoy](https://amoy.polygonscan.com/token/0x1468F83f94B60f44F814271D8319170bDD15616b)    | `0x1468F83f94B60f44F814271D8319170bDD15616b` |
| [Kaia Kairos](https://kairos.kaiascan.io/token/0x686127EA01790FF6b74A2bfaAffccD195C140714)       | `0x686127EA01790FF6b74A2bfaAffccD195C140714` |
| [BNB Testnet](https://testnet.bscscan.com/token/0xceE75934E32bfC9Fd149357a151891e1370C08E4)      | `0xceE75934E32bfC9Fd149357a151891e1370C08E4` |

***

### External Contracts

#### Supported Token Addresses

| Network   | Token | Address                                      | Decimals |
| --------- | ----- | -------------------------------------------- | -------- |
| Ethereum  | USDT  | `0xdAC17F958D2ee523a2206206994597C13D831ec7` | 6        |
| Ethereum  | USDT0 | `0x6C96dE32CEa08842dcc4058c14d3aaAD7Fa41dee` | 6        |
| Ethereum  | USDC  | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48` | 6        |
| Ethereum  | DAI   | `0x6B175474E89094C44Da98b954EedeAC495271d0F` | 18       |
| Ethereum  | USDS  | `0xdC035D45d973E3EC169d2276DDab16f1e407384F` | 18       |
| Ethereum  | USDe  | `0x4c9EDD5852cd905f086C759E8383e09bff1E68B3` | 18       |
| Ethereum  | USD1  | `0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d` | 18       |
| Ethereum  | EURC  | `0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c` | 6        |
| Ethereum  | JPYC  | `0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB` | 18       |
| Arbitrum  | USDT  | `0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9` | 6        |
| Arbitrum  | USDT0 | `0x14E4A1B13bf7F943c8ff7C51fb60FA964A298D92` | 6        |
| Arbitrum  | USDC  | `0xaf88d065e77c8cC2239327C5EDb3A432268e5831` | 6        |
| Arbitrum  | DAI   | `0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1` | 18       |
| Arbitrum  | USDS  | `0x6491c05A82219b8D1479057361ff1654749b876b` | 18       |
| Arbitrum  | USDe  | `0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34` | 18       |
| Arbitrum  | EURC  | `0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42` | 6        |
| Base      | USDC  | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` | 6        |
| Base      | DAI   | `0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb` | 18       |
| Base      | USDS  | `0x820C137fa70C8691f0e44Dc420a5e53c168921Dc` | 18       |
| Base      | USDe  | `0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34` | 18       |
| Base      | EURC  | `0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42` | 6        |
| Polygon   | USDT0 | `0xc2132D05D31c914a87C6611C10748AEb04B58e8F` | 6        |
| Polygon   | DAI   | `0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063` | 18       |
| Polygon   | USDe  | `0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34` | 18       |
| Polygon   | EURC  | `0xA0e8c9088aFb3FA0F40eCDF8b551071E46FD1A20` | 6        |
| Polygon   | JPYC  | `0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB` | 18       |
| BNB Chain | USD1  | `0x8d0D000Ee44948FC98c9B98A4FA4921476f08B0d` | 18       |
| Kaia      | USDT  | `0xd077A400968890Eacc75cdc901F0356c943e4fDb` | 6        |

#### Bridge Contract Addresses

**Circle CCTP**

| Network  | TokenMessenger                               | MessageTransmitter                           |
| -------- | -------------------------------------------- | -------------------------------------------- |
| Ethereum | `0xBd3fa81B58Ba92a82136038B25aDec7066af3155` | `0x0a992d191DEeC32aFe36203Ad87D7d289a738F81` |
| Arbitrum | `0x19330d10D9Cc8751218eaf51E8885D058642E08A` | `0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca` |
| Base     | `0x1682Ae6375C4E4A97e4B583BC394c861A46D8962` | `0xAD09780d193884d503182aD4588450C416D6F9D4` |

**LayerZero V2**

All networks use endpoint: `0x1a44076050125825900e736c501f859c50fE728c`

| Network   | Chain ID |
| --------- | -------- |
| Ethereum  | 30101    |
| Arbitrum  | 30110    |
| Base      | 30184    |
| Polygon   | 30109    |
| BNB Chain | 30102    |
| Kaia      | 30150    |

***

### Multi-Sig Addresses

Protocol Admin, Treasury, and Emergency multi-sig addresses are pending deployment.

| Purpose        | Signature Requirement |
| -------------- | --------------------- |
| Protocol Admin | 3-of-5                |
| Treasury       | 3-of-5                |
| Emergency      | 4-of-5                |

***

### Contract Architecture

TED Protocol uses the **Diamond Pattern (EIP-2535)** for upgradeable, modular contracts.

#### Structure

| Facet             | Role                                          |
| ----------------- | --------------------------------------------- |
| DiamondProxy      | Single entry point                            |
| DiamondCutFacet   | Upgrade management                            |
| DiamondLoupeFacet | Contract introspection                        |
| FXSwapFacet       | Core swap logic                               |
| DEX Adapters      | Curve, Uniswap V3/V4, PancakeSwap, DragonSwap |
| Bridge Facets     | CCTP, LayerZero, Wormhole                     |
| AdminFacet        | Governance and admin                          |

#### How to Interact

All user interactions go through the DiamondProxy address. Use the combined ABI (including all facet ABIs) when creating contract instances.

See the [Integration Guide](/developers/integration-guide) for detailed code examples.

***

### Adding Tokens to Wallet

#### TEDP Token

<Steps>
  <Step title="Open wallet">
    Open your wallet (MetaMask, etc.)
  </Step>

  <Step title="Import token">
    Click "Import Token"
  </Step>

  <Step title="Enter address">
    Enter the contract address for your network
  </Step>

  <Step title="Set symbol">
    Token symbol: `TEDP`
  </Step>

  <Step title="Set decimals">
    Decimals: `18`
  </Step>
</Steps>

#### Network Configuration

| Network      | Chain ID | RPC URL                            |
| ------------ | -------- | ---------------------------------- |
| Ethereum     | 1        | `https://eth.llamarpc.com`         |
| Arbitrum One | 42161    | `https://arb1.arbitrum.io/rpc`     |
| Base         | 8453     | `https://mainnet.base.org`         |
| Polygon      | 137      | `https://polygon-rpc.com`          |
| BNB Chain    | 56       | `https://bsc-dataseed.binance.org` |
| Kaia         | 8217     | `https://public-en.node.kaia.io`   |

***

### Security Notes

* Always verify addresses match official sources
* Confirm contracts are verified on block explorers
* Beware of fake tokens with similar names
* Only use links from official TED Protocol channels
