Only this pageAll pages
Powered by GitBook
1 of 15

USD₮0

Overview

Loading...

Loading...

Loading...

Loading...

Loading...

Tutorial

Loading...

Technical Documentation

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

The USDT0 Network

Introduction

Digital finance is evolving across dozens of chains and execution environments. But moving value between ecosystems remains fragmented—relying on inconsistent bridges, duplicated liquidity pools, and complex backend operations that create friction for builders and users alike.

The USDT0 Network eliminates these barriers. Built on LayerZero's Omnichain Fungible Token (OFT) standard, it unifies liquidity across chains without wrapping, bridging, or duplicating supply. The result is a single liquidity layer where assets behave consistently everywhere and move natively anywhere.

The network currently supports three Tether assets: USDT0 (US dollar), XAUT0 (gold), and CNHT0 (offshore Chinese yuan).

How It Works

The USDT0 Network leverages LayerZero's OFT standard to enable native cross-chain transfers through a permissionless liquidity mesh. Instead of fragmenting liquidity across multiple bridges and wrapped versions, assets move seamlessly between chains—backed by a single reserve and unified supply logic. No wrapped tokens or synthetic representations — just your same trusted tokens, delivered more efficiently and universally.

How It Works

The USDT0 Network operates on a robust lock-and-mint mechanism powered by the Omnichain Fungible Token (OFT) standard. This system ensures secure and efficient cross-chain transfers while maintaining full asset backing across all USDT0 products.

Lock-and-Mint Architecture

All tokens follow the same fundamental process:

  1. Locking Assets: The original asset (USDT, XAUT, or CNHT) is locked in the OFT Adapter smart contract on Ethereum Mainnet.

Minting on Destination Chains: Equivalent tokens (USDT0, XAUT0, or CNHT0) are minted on the target chain, maintaining a strict 1:1 backing with the locked assets on Ethereum. This ensures complete transparency and trust.

  • Seamless Cross-Chain Transfers: Our advanced omnichain messaging layer enables smooth and cost-effective transfers between supported chains. By eliminating reliance on fragmented liquidity pools and traditional bridges, users experience fast and reliable transactions.

  • Redemption: Tokens can be redeemed by burning them on any chain and unlocking the corresponding assets on the Ethereum OFT Adapter. This ensures a consistent and secure relationship between the locked and minted assets.

  • Role of the OFT Standard

    The Omnichain Fungible Token (OFT) standard developed by LayerZero facilitates interoperability across chains. The OFT model provides a universal framework for cross-chain messaging and token management. Key advantages include:

    Unified Liquidity Management

    The OFT standard ensures that liquidity is efficiently managed across all connected chains, reducing fragmentation and improving capital efficiency. Instead of duplicating liquidity across multiple wrapped versions or bridge pools, USDT0 maintains a single source of truth on Ethereum.

    High Security

    Transactions are validated through a decentralized network of oracles and relayers, maintaining integrity and reducing risks. Cross-chain actions are verified independently, ensuring robustness and minimizing attack vectors.

    Scalability

    The OFT model supports seamless expansion to new blockchains, allowing our products to integrate with emerging ecosystems effortlessly. As new chains gain adoption, our network can onboard them without fragmenting existing liquidity.

    Efficiency

    By eliminating the need for intermediary bridges or wrapped assets, the OFT standard reduces complexity and operational overhead. Users benefit from simpler transactions, lower fees, and faster settlement times.

    Read the technical overview

    The USDT0 Legacy Mesh

    The Legacy Mesh: Cross-Chain Transfers Connecting USDT and USDT0

    As USDT0 expands to new chains, users still need a way to move liquidity between chains where USDT has already been deployed. To solve this, USDT0 has introduced the Legacy Mesh: a cross-chain liquidity infrastructure that connects legacy USDT deployments with the USDT0 omnichain ecosystem through a shared, non-custodial hub.

    What Is the Legacy Mesh?

    The Legacy Mesh uses a hub-and-spoke architecture to route stablecoin liquidity between networks that do not natively support USDT0. These include widely adopted chains like Tron and TON, which have large native USDT supplies but do not yet support the OFT standard or native USDT0 minting.

    Meanwhile, Ethereum is integrated directly into the USDT0 infrastructure and Arbitrum serves as the central hub for the entire Legacy Mesh, with liquidity pools facilitating two-way conversions between USDT and USDT0.

    Through this system, the Legacy Mesh connects:

    • Ethereum (native USDT via ERC-20)

    • Tron (native USDT via TRC-20)

    • TON (native USDT via TON token format)

    • Arbitrum (canonical USDT0 hub)

    The above architecture allows users to move value seamlessly between previously siloed networks, with all USDT0 backed by real, redeemable assets on both sides of the transfer. This extends the utility of USDT and eliminates the need for fragmented pools, wrapped tokens, and synthetic stablecoin representations.

    More chains may be added to the mesh over time, and each integration will further strengthe the network and further unifies the stablecoin experience.

    Why The Legacy Mesh Matters

    The Legacy Mesh solves a fundamental coordination problem: how do you unify fragmented liquidity across legacy systems without forcing a disruptive migration? The answer is to create a seamless path between classic's stablecoin deployments and today’s omnichain reality, without requiring the market to choose one over the other.

    Benefits to this approach include:

    • Unified Liquidity Across Legacy and New Chains: Native USDT deployments represent billions in circulating supply and real-world usage. The Legacy Mesh makes that liquidity accessible to newer ecosystems built around USDT0, without needing immediate full-stack upgrades.

    • Future-Proof Interoperability: Not all chains are ready to support USDT0 natively. The Legacy Mesh lets them interoperate today, while preserving the option to upgrade to full OFT-based deployment when they are ready, with minimal disruption.

    • Fully-Backed Liquidity: Every transfer through the mesh is backed by real assets, either via liquidity pools or direct mint/burn mechanisms. This minimizes depeg risk and ensures maximum capital efficiency.

    How The Legacy Mesh Works

    Soon, users will be able to use the to deposit USDT directly into the Mesh and receive native USDT0 directly on any destination chain of choice. We are currently finalising this automated multihop process, so until then the process needs to be manually executed.

    In the meantime, manually transfers through the Legacy Mesh are also simple and seamless. Let’s walk through an example where we move USDT from Tron to Ink.

    1. Select Source and Destination Chains: On the USDT0 Transfer Hub, choose Tron (USDT) as your source chain and Arbitrum (USDT0) as your destination. You’ll be prompted to connect a compatible wallet for each chain.

    2. Transfer USDT to Arbitrum: Transfer of your TRC-20 USDT to Arbitrum through the Legacy Mesh. These pools are audited and transparently collateralised to ensure fast USDT movements.

    3. Transfer to Final Destination: Once on Arbitrum, your USDT0 can then be transferred using LayerZero’s OFT protocol, which burns tokens on Arbitrum and mints the exact amount on Ink.

    This same process can be used to move USDT from Arbitrum to any other USDT0 chains. And soon, you will only need to select your source and destination chains and the Legacy Mesh will handle the rest.

    Note: Unlike USDT0 transfers, Legacy Mesh transfers incur a 0.03% fee, paid in USDT.

    Use Cases

    By simplifying cross-chain operations and enhancing liquidity management, USDT0 provides a versatile and powerful framework tailored to the needs of blockchain networks, users and exchanges.

    For Chains

    • Ownership Flexibility: USDT0 supports the efficient transition of contract ownership to Tether when required, ensuring a unified and consistent standard for USDT across chains. This eliminates the risk of fragmentation caused by multiple versions of USDT existing on the same network.

    • Advanced Compliance Tools: Adhering to robust compliance capabilities, USDT0 supports blacklisting and freezing functionalities, enabling blockchains to adhere to regulatory requirements and process law enforcement requests effectively.

    • Future Proof Design: USDT0 stays adaptable to evolving blockchain technologies by expanding its functionality, maintaining seamless interoperability, and supporting smart contract updates to align with the latest standards. This approach allows USDT0 to remain scalable, relevant and efficient in a rapidly changing ecosystem.

    • Fast Settlement: With transfer times ranging from 30 seconds to a few minutes, USDT0 ensures rapid asset movement across chains, supporting high-speed, low-latency transactions.

    • Enhanced Ecosystem Interoperability: USDT0 connects effortlessly with leading blockchain networks, driving capital inflows and expanding cross-chain functionality to foster growth.

    • Simplified Integration Process: Integrating USDT0 into blockchain networks is straightforward, requiring no complex custom bridge solutions or liquidity pool management, making it as simple as working with standard ERC-20 tokens.

    For Users:

    • Seamless Cross-Chain Transfers: USDT0 optimizes USDT transfers across supported chains by removing the reliance on multiple bridges and fragmented liquidity pools. With 1:1 asset backing and minimal transaction fees, it provides users with a smooth and secure transfer experience.

    • Broader DeFi Access: Through its initial deployment on Ink and upcoming expansions to other leading blockchain networks, USDT0 delivers enhanced access to DeFi opportunities within a unified ecosystem, removing the reliance on separate bridge solutions.

    • Enhanced Security and Trust: Users benefit from USDT0’s unified framework, which consolidates liquidity and ensures that assets are securely managed across all chains. This eliminates the risks associated with multiple intermediaries.

    For Exchanges:

    • Multichain Support: USDT0’s permissionless contracts integrate seamlessly into an exchange’s tech stack, enabling deposits and withdrawals across multiple chains without requiring separate rebalancing or float management on individual networks.

    • Effortless Cross-Chain Transactions: Leveraging USDT0’s OFT standard, tokens are transferred securely and efficiently across chains, delivering an optimal user experience without compromising safety.

    • Quick Ethereum Redemptions: USDT0 enables exchanges to redeem assets on Ethereum swiftly and efficiently, with transactions typically completing within seconds or minutes. This simplifies treasury management and reduces liquidity fragmentation.

    CNHT0 Deployments

    Ethereum Mainnet (EID: 30101)

    • OAdapterUpgradeable: 0xcd62844e82cfedf572b06275020254d40e016545

    • Safe: 0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8

    Conflux eSpace (EID: 30212)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Analytics

    The USDT0 Network infrastructure is fully on-chain. Backing, volumes, total issuance, and overall metrics can be tracked by everyone, at any point in time, in a fully permissionless and transparent manner.

    USDT0 Analytics

    Official Analytics Page

    XAUT0 Deployments

    Ethereum (30101):

    • OFT Adapter:

    Security

    Bug Bounty Program

    USDT0 maintains a bug bounty program on Immunefi with rewards of up to $6,000,000 for critical vulnerabilities. Visit the for complete program details, scope, and submission guidelines.

    Security Audit Reports

    Effortless Integration: Exchanges can integrate USDT0 with minimal development effort. The process is similar to working with standard ERC-20 tokens, eliminating the need for managing liquidity pools or deploying custom bridging solutions.

    The USDT0 network maintains its own analytics page here.

    Community Maintained Analytics Pages

    • Dune Dashboard - LayerZero

    • LayerZero Scan

    • DefiLlama - USDT0 Specific

    • DefiLlama - Volumes

    XAUt0 Analytics

    XAUt0 analytics are available through the LayerZero ecosystem tools:

    • LayerZero Scan - XAUt0

    CNHT0 Analytics

    CNHT0 analytics are available through the LayerZero ecosystem tools:

    • LayerZero Scan - CNHT0


    Note: Third-party analytics pages may report using different criteria and methodology.

    If you are building a USDT0 analytics page and wish to be added to this list, please contact us at [email protected].

    0xDEd1660192d4d82e7c0B628ba556861EdBB5CAda
    0x0200C29006150606B650577BBE7B6248F58470c1
    0x789498616f3bb9f8df52288a9311247028872105
    Arbitrum (30110):
    • OFT: 0xf40542a7B66AD7C68C459EE3679635D2fDB6dF39

    • Token: 0x40461291347e1eCbb09499F3371D3f17f10d7159

    TON (30343):

    • OFT: EQCQ2f8ceBRwX8x0-LdZhHbWXzuVNvwTJymwYG8L6C5hf_5V

    • Token: EQA1R_LuQCLHlMgOo1S4G7Y7W1cd0FrAkbA10Zq7rddKxi9k

    HyperEVM (30367):

    • OFT: 0x4E41cfc3F3B19E29E323D2c36F8f202a1e151dAF

    • Token: 0xf4D9235269a96aaDaFc9aDAe454a0618eBE37949

    • Composer: 0x689f01244C1fc30c75a70F627fA8fa4D6FDC1802

    HyperCore

    • Token: 0xfd61ec89811ba3cf2ae12d0ed8ef1afd

    Polygon (30109):

    • OFT: 0x5421Cf4288d8007D3c43AC4246eaFCe5b049e352

    • Token: 0xF1815bd50389c46847f0Bda824eC8da914045D14

    Plasma (30383):

    • OFT: 0x63aB93cBC9d4ecD9c4947b1A38F458147C08E6F7

    • Token: 0x1B64B9025EEbb9A6239575dF9Ea4b9Ac46D4d193

    INK (30339):

    • OFT: 0xA1bE1572B4beef24f812EfDc58bdc41D56a0dAB2

    • Token: 0xF50258D3c1dd88946C567920B986A12e65b50dAc

    Avalanche (30106):

    • OFT: 0x7E7866bc840aFf9f517a49AfDbfC9e7C7Aba9a68

    • Token: 0x2775d5105276781B4b85bA6eA6a6653bEeD1dd32

    Celo (30125):

    • OFT: 0x21caef8a43163eea865baee23b9c2e327696a3bf

    • Token: 0xaf37E8B6C9ED7f6318979f56Fc287d76c30847ff

    Solana (30168):

    • OFT: XWxJJE6Dq8EgdnhMWYU587f7St4HJuWbBHPstV2GtKR

    • Token: AymATz4TCL9sWNEEV9Kvyz45CHVhDZ6kUgjTJPzLpU9P

    Monad (EID: 30390)

    • OFT: 0x21cAef8A43163Eea865baeE23b9C2E327696A3bf

    • Token: 0x01bFF41798a0BcF287b996046Ca68b395DbC1071

    Stable (EID: 30396)

    • StableOFTExtension: 0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb

    • OUpgradeable: 0xD8479f87686ed263D00Ca7505F86327dbeD4171A

    0xb9c2321BB7D0Db468f570D10A424d1Cc8EFd696C
    USDT0's smart contracts have undergone multiple audits:

    1. Guardian Audit Report

    2. ChainSecurity Audit Report

    3. Paladin

    The complete and up to date list of USDT0 audit reports can be found here.

    Risk Analysis

    In addition to the Technical part, Chaos Labs has delivered an in-depth risk analysis on USDT0 infrastructure: Chaos Labs recognizes USDT0 as a breakthrough in stablecoin infrastructure, assessing it as economically secure with minimal risk exposure.

    The complete risk analysis can be found here.

    USDT0 Bug Bounty Program

    Solana (native USDT via SPL-20)

  • CELO (native USDT via ERC-20)

  • Any chain with native USDT0 integration

  • Enjoy Native USDT0: Once received, the USDT0 is ready to use in any compatible app or protocol. You can lend it, swap it, or use it for payments, just like native USDT.
    USDT0 Transfer Hub

    Mediakit

    Media Kit

    Download logos.

    5MB
    Mediakit USDT0.zip
    archive
    Open

    Brand Guidelines

    Download Brand Guidelines.

    1MB
    Brand Guidelines USDT0.pdf
    PDF
    Open

    USDT0 Logo

    How to Transfer

    The USDT0 Network provides an easy and efficient way to move assets across different chains. This guide covers transferring USDT0, XAUt0, and CNHT0.

    Transfer Interface

    All three assets (USDT0, XAUt0, and CNHT0) are available through a single unified transfer interface:

    Simply select your desired asset from the interface to begin transferring. The transfer process is identical across all USDT0 products. This tutorial uses USDT0 as an example, but the same steps apply to XAUT0 and CNHT0.

    4KB
    Logo USDT0 256x256.png
    image
    Open
    8KB
    Logo USDT0 512x512.png
    image
    Open
    Step-by-Step Guide

    1. Access the Transfer Page

    Navigate to the appropriate transfer interface and click on the green Transfer button.

    2. Connect Your Wallet

    Click on the Connect button. A window will appear presenting you with a variety of wallet options. Choose which option works best for you. Popular options include Rabby Wallet, MetaMask, WalletConnect, and others.

    3. Select the Origin and Destination Chain

    Select which network you would like to transfer your funds from by clicking on the From section of the UI as well as the To section. A window will pop up displaying your options.

    Example for USDT0: Select Arbitrum as the origin chain and Plasma as the destination chain.

    Example for XAUt0: Select Ethereum as the origin chain and HyperEVM as the destination chain.

    4. Enter the Transfer Amount

    Select the amount of USDT0 assets to be transferred between your chosen chains.

    Example: Transfer 10,000 USDT0 from Arbitrum to Plasma, or 1 XAUt0 from Ethereum to HyperEVM.

    4.1 Select Route - USDT0/Aori (if available)

    For USDT0 transfers on supported chains, you may have the option to use Aori's intent-based settlement protocol.

    What is Aori and when should I use it?

    Aori is an intent-based settlement protocol that provides instant cross-chain transfers through a decentralized solver network.

    Choose Aori when:

    • You need immediate settlement (< 5 seconds)

    • Trading or arbitrage timing is critical

    • You're willing to pay a small fee for speed

    Choose Native USDT0 when:

    • Cost savings are your priority (free transfers)

    • Standard settlement times (30s-3min) are acceptable

    • You're transferring large amounts

    Aori Technical documentation →

    The native USDT0 route serves as the default transfer method. For supported chains, Aori's intent-based settlement protocol provides an alternative execution path with distinct performance characteristics.

    4.1.1 Receive Gas on the Destination Chain

    If you do not have gas on the chain you'd like to transfer your funds to, the UI will prompt you to set gas on the destination chain. Click on Add in the Gas on destination section. A window will show up allowing you to select between None, Medium, or Max amount of gas which will be airdropped. You can also select a custom amount.

    4.1.2 Fee Tolerance (for Aori transfers)

    Intent-based transfers involve dynamic market-based pricing. Fee tolerance protects users from unexpected cost increases by setting a maximum acceptable fee threshold.

    Setting Your Tolerance:

    • 0.5%: Conservative, suitable for most transactions

    • 1.0%: Moderate, balanced approach

    • 3.0%: High, for urgent transfers where speed is critical

    • Custom: Advanced users can specify exact tolerances

    If the actual fee exceeds your configured tolerance, the transaction will be rejected before execution, ensuring no unexpected costs.

    Example: For a $10,000 transfer with 1% fee tolerance, the transaction will only execute if total fees remain below $100.

    5. Initiate Transfer

    Transferring assets is a two-step process. Click the Transfer button and approve the transactions to initiate the transfer.

    5.1 Step 1: Approve Spending Cap

    5.2 Step 2: Bridge

    Now that you have signed both transactions, your transfer is on its way.

    6. Wait for the Transaction to Arrive

    After you initiate the transfer, the UI will display an estimate of when your funds will arrive.

    7. (Optional) Add Destination Address

    If you want to transfer your funds to a different wallet address on the destination chain, you can do so by clicking the green wallet icon above the From section.

    Product-Specific Notes

    USDT0

    • Supports Aori intent-based transfers on select chains

    • Includes integration with the Legacy Mesh for USDT transfers from Tron, TON, and other legacy deployments

    • 0.03% fee for Legacy Mesh transfers only (native USDT0 transfers are free)

    XAUt0

    • Transfers represent movement of gold-backed value

    • Each XAUt0 token = 1 troy ounce of gold in Swiss vaults

    • Standard transfer times: 30 seconds to 3 minutes

    CNHT0

    • Transfers CNY-denominated stablecoin value

    • Same infrastructure and speed as USDT0

    • Ideal for Asian market use cases

    Need Help?

    If you encounter any issues during the transfer process:

    • Check our Developer Documentation for technical details

    • Review Security & Audits for safety information

    • Contact support through the transfer interface

    https://usdt0.to/transfer
    wallet
    usdt0-homepage
    connect-wallet
    select-chains
    source-destination-chains
    selectroute
    gas
    fee-tolerance
    fee-tolerance
    bridge
    time
    time
    time
    destination-address

    USDT0 Deployments

    USDT0 Deployments

    Ethereum Mainnet (EID: 30101)

    • OAdapterUpgradeable:

    • Safe:

    Arbitrum One (EID: 30110)

    • ArbitrumExtensionV2:

    • OUpgradeable:

    • Safe:

    Polygon PoS (EID: 30109)

    • UChildUSDT0:

    • OUpgradeable:

    • Safe:

    Berachain (EID: 30362)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Ink (EID: 30339)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Optimism (EID: 30111)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Unichain (EID: 30320)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Corn (EID: 30331)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Sei (EID: 30280)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Flare (EID: 30295)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    HyperEVM (EID: 30367)

    • HyperliquidExtension:

    • OUpgradeable:

    • Safe:

    Rootstock (EID: 30333)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    XLayer (EID: 30274)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Plasma (EID: 30383)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Conflux eSpace (EID: 30212)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Mantle (EID: 30181)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Monad (EID: 30390)

    • TetherTokenOFTExtension:

    • OUpgradeable:

    • Safe:

    Stable (EID: 30396)

    • StableOFTExtension:

    • OUpgradeable:

    • Safe:

    USDT0 Legacy Mesh Deployments

    Arbitrum Mainnet (EID: 30110)

    • UsdtOFT:

    • MultiHopComposer:

    Celo Mainnet (EID: 30125)

    • UsdtOFT:

    Ethereum Mainnet (EID: 30101)

    • UsdtOFT:

    TON Mainnet (EID: 30343)

    • UsdtOFT:

    Tron Mainnet (EID: 30420)

    • UsdtOFT:

    Solana Mainnet (EID: 30168)

    • UsdtOFT_store:

    • UsdtOFT_programmId:

    0x6C96dE32CEa08842dcc4058c14d3aaAD7Fa41dee
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9
    0x14E4A1B13bf7F943c8ff7C51fb60FA964A298D92
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0xc2132D05D31c914a87C6611C10748AEb04B58e8F
    0x6BA10300f0DC58B7a1e4c0e41f5daBb7D7829e13
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0x779Ded0c9e1022225f8E0630b35a9b54bE713736
    0x3Dc96399109df5ceb2C226664A086140bD0379cB
    0x425d1D17C33bdc0615eA18D1b18CCA7e14bEeb58
    0x0200C29006150606B650577BBE7B6248F58470c1
    0x1cB6De532588fCA4a21B7209DE7C456AF8434A65
    0xc95de55ce5e93f788A1Faab2A9c9503F51a5dAE2
    0x01bFF41798a0BcF287b996046Ca68b395DbC1071
    0xF03b4d9AC1D5d1E7c4cEf54C2A313b9fe051A0aD
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0x9151434b16b9763660705744891fA906F660EcC5
    0xc07bE8994D035631c36fb4a89C918CeFB2f03EC3
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb
    0x3f82943338a8a76c35BFA0c1828aA27fd43a34E4
    0x57d798f9d3B014bAC81A6B9fb3c18c0242A9411E
    0x9151434b16b9763660705744891fA906F660EcC5
    0x56Fe74A2e3b484b921c447357203431a3485CC60
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0xe7cd86e13AC4309349F30B3435a9d337750fC82D
    0x567287d2A9829215a37e3B88843d32f9221E7588
    0x6ae078461f35c3cC216A71029F71ee7Bc4d9a10b
    0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb
    0x904861a24F30EC96ea7CFC3bE9EA4B476d237e98
    0xB64A89AD247a2D691A728Bb6822a85EeDD7Fc541
    0x779dED0C9e1022225F8e0630b35A9B54Be713736
    0x1a594d5d5d1c426281C1064B07f23F57B2716B61
    0x425d1D17C33bdc0615eA18D1b18CCA7e14bEeb58
    0x779Ded0c9e1022225f8E0630b35a9b54bE713736
    0x94bcca6bdfd6a61817ab0e960bfede4984505554
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb
    0x02ca37966753bDdDf11216B73B16C1dE756A7CF9
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0xaf37E8B6C9ED7f6318979f56Fc287d76c30847ff
    0xC57efa1c7113D98BdA6F9f249471704Ece5dd84A
    0x789498616f3Bb9F8dF52288A9311247028872105
    0x779Ded0c9e1022225f8E0630b35a9b54bE713736
    0xcb768e263FB1C62214E7cab4AA8d036D76dc59CC
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0xe7cd86e13AC4309349F30B3435a9d337750fC82D
    0x9151434b16b9763660705744891fA906F660EcC5
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0x779Ded0c9e1022225f8E0630b35a9b54bE713736
    0xedaba024be4d87974d5aB11C6Dd586963CcCB027
    0x4DFF9b5b0143E642a3F63a5bcf2d1C328e600bf8
    0x77652D5aba086137b595875263FC200182919B92
    0x759BA420bF1ded1765F18C2DC3Fc57A1964A2Ad1
    0xf10E161027410128E63E75D0200Fb6d34b2db243
    0x1F748c76dE468e9D11bd340fA9D5CBADf315dFB0
    EQAd31gAUhdO0d0NZsNb_cGl_Maa9PSuNhVLE9z8bBSjX6Gq
    TFG4wBaDQ8sHWWP1ACeSGnoNR6RRzevLPt
    HyXJcgYpURfDhgzuyRL7zxP4FhLg7LZQMeDrR4MXZcMN
    Fuww9mfc8ntAwxPUzFia7VJFAdvLppyZwhPJoXySZXf7

    Developer Guide

    All USDT0 Network tokens (USDT0, XAUt0, CNHT0) are Omnichain Fungible Tokens (OFT). The OFT standard allows tokens to move seamlessly across multiple blockchains using LayerZero's messaging protocol, ensuring a unified supply across all chains. USDT0 Network tokens leverage LayerZero's infrastructure to enable secure and efficient cross-chain transfers.

    1. Architecture Overview

    The USDT0 implementation separates token functionality from cross-chain messaging. This split enables independent upgrades of token and messaging components while maintaining consistent token behavior across chains.

    Core Components

    The implementation consists of three main components:

    1. OAdapterUpgradeable (on Ethereum):

      1. Implements LayerZero OFT functionality for Ethereum

      2. Handles both sending and receiving cross-chain messages

      3. Interfaces directly with the source TetherToken contract on Ethereum

    Component Interaction Diagram

    The graphic illustrates how USDT0 tokens are transferred across Ethereum, Chain A, and Chain B:

    1. Ethereum → Chain B:

      • USDT0 Adapter locks tokens on Ethereum

      • A LayerZero message triggers USDT0 OFT on Chain B to mint equivalent tokens

    2. Chain B

    The flow ensures consistent token supply across chains.

    2. Interfaces Reference

    Token Interfaces

    All USDT0 tokens implement the following standard interfaces:

    • ERC20

    • ERC20Permit (EIP-2612)

    • EIP-3009 (Gasless transfers)

    Key public functions for integration:

    OFT Interfaces

    The OFT implementation provides cross-chain transfer functionality through LayerZero:

    The OFT interface is consistent across all chains, whether using OAdapterUpgradeable on Ethereum or OUpgradeable on other chains. The only difference is that on Ethereum, users need to approve the OFT adapter to spend their tokens before calling send.

    Example: Bridging from Ethereum to Arbitrum

    The following example shows how to bridge tokens from Ethereum to Arbitrum, including necessary approvals and parameter handling. This example uses USDT0, but the same code works for XAUT0 and CNHT0 by changing the token and OFT addresses.

    3. Security Configuration (DVNs)

    USDT0 tokens utilize a dual-DVN security configuration requiring verification from:

    • LayerZero DVN

    • USDT0 DVN

    Both DVNs must verify the payloadHash before a cross-chain message can be committed for execution. This setup ensures enhanced security through independent verification of all cross-chain transfers.

    For detailed information about LayerZero DVNs and security stacks, refer to:

    4. Legacy Mesh (USDT0-Specific)

    The Legacy Mesh is a cross-chain liquidity network for USDT that connects legacy deployments on Ethereum, Arbitrum, Celo, Tron, and TON. It enables USDT transfers across chains without minting or burning. Instead, it uses a credit-based system where liquidity is locked and unlocked between smart contract pools on each chain.

    At its core is the UsdtOFT contract, which implements LayerZero's IOFT interface for compatibility with standard OFT tooling. Unlike standard OFT contracts, UsdtOFT does not alter token supply—it moves USDT by crediting and debiting pool balances.

    Key Mechanics

    • Fee-based Transfers: A small fee (in basis points) is deducted from each transfer. The feeBps variable defines the rate.

    • Interface Support:

      • quoteOFT(): Returns transfer limits, expected amounts, and fees

    This mechanism enables seamless interoperability across non-upgradeable USDT deployments.

    Please note: When an upgrade is processed, the entire Legacy Mesh infrastructure smart contracts are migrated as a whole. If your application integrates Legacy Mesh directly at the smart contract level, we recommend reaching out to [email protected]. This ensures you have a direct communication channel and remain fully updated on the latest changes.

    Locks/Unlocks tokens for cross-chain transfers

  • OUpgradeable (on other chains):

    1. Implements LayerZero OFT functionality for other chains

    2. Handles both sending and receiving cross-chain messages

    3. Interfaces with the TetherTokenOFTExtension (or equivalent)

    4. Controls minting/burning for cross-chain transfers

  • TetherTokenOFTExtension (on other chains):

    1. Offers mint/burn interface for the OFT

  • →
    Chain A
    :
    • USDT0 OFT burns tokens on Chain B

    • A message triggers USDT0 OFT on Chain A to mint the equivalent

  • Chain A → Ethereum:

    • USDT0 OFT burns tokens on Chain A

    • A message instructs the USDT0 Adapter to unlock tokens on Ethereum

  • quoteSend(): Returns LayerZero messaging fees
  • send(): Executes the cross-chain transfer and applies fees

  • https://docs.layerzero.network/v2/home/modular-security/security-stack-dvns
    Component Interaction Diagram
    interface IERC20 {
        function transfer(address to, uint256 amount) external returns (bool);
        function transferFrom(address from, address to, uint256 amount) external returns (bool);
        function approve(address spender, uint256 amount) external returns (bool);
        function allowance(address owner, address spender) external view returns (uint256);
        function balanceOf(address account) external view returns (uint256);
        function totalSupply() external view returns (uint256);
    }
    
    interface IERC20Permit {
        function permit(
            address owner,
            address spender,
            uint256 value,
            uint256 deadline,
            uint8 v,
            bytes32 r,
            bytes32 s
        ) external;
    }
    
    // EIP-3009 functions for gasless transfers
    interface IEIP3009 {
        function transferWithAuthorization(
            address from,
            address to,
            uint256 value,
            uint256 validAfter,
            uint256 validBefore,
            bytes32 nonce,
            bytes memory signature
        ) external;
    
        function receiveWithAuthorization(
            address from,
            address to,
            uint256 value,
            uint256 validAfter,
            uint256 validBefore,
            bytes32 nonce,
            bytes memory signature
        ) external;
    }
    interface IOFT {
        struct SendParam {
            uint32 dstEid;          // Destination endpoint ID
            bytes32 to;             // Recipient address
            uint256 amountLD;       // Amount to send
            uint256 minAmountLD;    // Minimum amount to receive
            bytes extraOptions;     // Additional options
            bytes composeMsg;       // Optional composed message
            bytes oftCmd;           // OFT-specific command
        }
    
        struct MessagingFee {
            uint256 nativeFee;     // Fee in native gas
            uint256 lzTokenFee;    // Fee in LZ token
        }
    
        struct OFTReceipt {
            uint256 amountSentLD;      // Amount sent
            uint256 amountReceivedLD;  // Amount received
        }
    
        // Get expected received amount
        function quoteOFT(SendParam calldata sendParam)
            external view returns (
                OFTLimit memory,          // Min/max amounts
                OFTFeeDetail[] memory,    // Fee breakdown
                OFTReceipt memory        // Expected amounts
            );
    
        // Get messaging fee
        function quoteSend(SendParam calldata sendParam, bool payInLzToken)
            external view returns (MessagingFee memory);
    
        // Execute the cross-chain transfer
        function send(
            SendParam calldata sendParam,
            MessagingFee calldata fee,
            address refundAddress
        ) external payable;
    }
    import { ethers } from "ethers";
    
    const USDT_ADDRESS = "0xdAC17F958D2ee523a2206206994597C13D831ec7";
    const OFT_ADDRESS = "0x6C96dE32CEa08842dcc4058c14d3aaAD7Fa41dee";
    const ARB_EID = 30110;
    const MAX_UINT256 = ethers.constants.MaxUint256;
    
    const OFT_ABI = [
      "function quoteOFT(tuple(uint32,bytes32,uint256,uint256,bytes,bytes,bytes)) view returns (tuple(uint256,uint256), tuple(int256,string)[], tuple(uint256,uint256))",
      "function quoteSend(tuple(uint32,bytes32,uint256,uint256,bytes,bytes,bytes), bool) view returns (tuple(uint256,uint256))",
      "function send(tuple(uint32,bytes32,uint256,uint256,bytes,bytes,bytes), tuple(uint256,uint256), address) payable returns (tuple(bytes32,uint64,tuple(uint256,uint256)), tuple(uint256,uint256))",
    ];
    
    async function sendUSDT0ToArbitrum(
      signer: ethers.Signer,
      amount: string,
      recipient: string
    ) {
      const usdt = new ethers.Contract(
        USDT_ADDRESS,
        ["function approve(address,uint256)"],
        signer
      );
      const oft = new ethers.Contract(OFT_ADDRESS, OFT_ABI, signer);
    
      const amountWei = ethers.utils.parseUnits(amount, 6);
    
      // Approve max amount
      await usdt.approve(OFT_ADDRESS, MAX_UINT256);
    
      const sendParam = [
        ARB_EID,
        ethers.utils.hexZeroPad(recipient, 32),
        amountWei,
        0,
        "0x",
        "0x",
        "0x",
      ];
    
      const [, , oftReceipt] = await oft.callStatic.quoteOFT(sendParam);
      sendParam[3] = oftReceipt[1];
      const msgFee = await oft.callStatic.quoteSend(sendParam, false);
    
      const tx = await oft.send(sendParam, msgFee, recipient, { value: msgFee[0] });
    
      return tx;
    }