WDK logoWDK documentation
USD₮0 bridge

Bridge from Solana with USD₮0

Bridge native USD₮ from WDK Solana accounts to Ethereum, Arbitrum, Celo, TON, and TRON over the USD₮0 Legacy Mesh.

Use the USD₮0 bridge module for Solana to move native USD₮ out of WDK Solana accounts. It is the Solana counterpart of the EVM bridge module and implements the same BridgeProtocol interface.

These pages reflect @tetherto/wdk-protocol-bridge-usdt0-solana@1.0.0-beta.1. Solana is the only source chain. To bridge toward Solana, use the EVM bridge module.

The package contains the Solana mainnet deployment only, so there is no devnet path. Against devnet, quoteBridge() fails with Invalid OFT store account. Start with a read-only quote, then bridge a small amount on mainnet.

Features

  • Legacy Mesh Routes: Send to Ethereum, Arbitrum, Celo, TON, and TRON
  • Standard and Gasless Accounts: Works with WalletAccountSolana and with Kora-backed WalletAccountSolanaGasless
  • No Approval Step: The bridge transaction moves the tokens directly, so there is no allowance to prepare
  • Fee Management: Quote fees before sending and cap them with bridgeMaxFee and, on gasless accounts, transactionMaxFee
  • Recipient Validation: Rejects malformed, zero, and bad-checksum addresses before quoting or sending
  • Route Discovery: List chains and tokens with getSupportedChains() and getSupportedTokens()
  • Bare Runtime Support: Runs on Node.js and Bare
  • TypeScript Support: Type declarations included

What moves

The module accepts one token: native SPL USD₮, mint Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB. It transfers that token through the USD₮0 Legacy Mesh, which connects pools of existing USD₮ across chains. The USD₮0 documentation describes the destination token as native USD₮ on Ethereum, Celo, TON, and TRON, and USD₮0 on Arbitrum.

The Legacy Mesh takes a fee from the transferred amount, set by feeBps on the on-chain OFT store. It was 3 basis points (0.03%) when read on November 2, 2026, so bridging 1 USD₮ delivers 0.9997 USD₮. Neither quoteBridge() nor bridge() returns this fee. It is separate from fee and bridgeFee.

Supported Networks

Source Chain

ChainEndpoint ID (EID)
Solana mainnet30168

Destination Chains

ChaintargetChainChain IDEndpoint ID (EID)
Ethereumethereum130101
Arbitrumarbitrum4216130110
Celocelo4222030125
TONtonNot applicable30343
TRONtron72812642830420

Pass the targetChain key to bridge() and quoteBridge(). They do not accept a chain ID or endpoint ID.

How this differs from the EVM module

EVM moduleSolana module
ClassUsdt0ProtocolEvmUsdt0ProtocolSolana
Source22 EVM chainsSolana mainnet
Destinations25 configured keys5 chains
TokenConfigured USD₮0 and XAU₮0 routesNative SPL USD₮
Allowanceapprove() first on standard accountsNot needed
Route overridesoftContractAddress, dstEidNot available
Gas abstractionERC-4337Kora paymaster
bridgeMaxFee at an equal valueRejectedAllowed

Next Steps


Need Help?

On this page