Skip to main content

Token features

USDT0 Network token contracts (USDT0, XAUT0, and USAT) share a common upgradeable ERC-20 implementation on most chains. Beyond the standard ERC-20 interface, the tokens support a set of signature-based features that enable gasless (meta-transaction) flows and smart contract wallet integrations. The following table summarizes each feature and links to its reference page:

FeatureStandardWhat it enables
Gasless approvalsEIP-2612Set an allowance with an off-chain signature instead of an approve transaction
Gasless transfersEIP-3009Move tokens with a signed authorization that anyone, such as a relayer, can submit
Contract wallet signaturesEIP-1271Use gasless approvals and transfers from smart contract wallets (Safe, smart accounts), not only externally owned accounts (EOAs)
Crosschain mint and burnERC-7802Standardized interface the Omnichain Fungible Token (OFT) contract uses to mint and burn during cross-chain transfers

Not every chain supports every feature. Some deployments use chain-native token frameworks (Hedera, Tempo), and the Polygon PoS token inherits constraints from the canonical contract it was upgraded from. Before you rely on a feature, check the availability matrix.

The shared implementation also has behavior that no single standard defines, such as batch transfers and a compliance blocklist. For details, see Additional token behavior.

Availability

The token contract deployed on each chain determines feature support — the contracts listed as Token in Deployments. The following matrices reflect the contracts as deployed in August 2026. The tokens are upgradeable, so a chain's feature set can change when its implementation is upgraded.

USDT0

ChainEIP-2612 Gasless approvalsEIP-3009 Gasless transfersEIP-1271 Contract wallet signaturesERC-7802 Crosschain mint/burn
Ethereum No token contract — the OFT Adapter locks USDTN/AN/AN/AN/A
Arbitrum One SupportedSupportedSupportedNot supported
Berachain SupportedSupportedSupportedNot supported
Conflux eSpace SupportedSupportedSupportedSupported
Flare SupportedSupportedSupportedNot supported
Hedera Native HTS tokenNot supportedNot supportedNot supportedNot supported
HyperCore Non-EVM native spot assetN/AN/AN/AN/A
HyperEVM SupportedSupportedSupportedSupported
Ink SupportedSupportedSupportedSupported
Mantle SupportedSupportedSupportedSupported
MegaETH SupportedSupportedSupportedSupported
Monad SupportedSupportedSupportedSupported
Morph SupportedSupportedSupportedSupported
Optimism SupportedSupportedSupportedSupported
Plasma SupportedSupportedSupportedSupported
Polygon PoS Different EIP-712 signing domainSupported 1Not supportedNot supportedSupported
Rootstock SupportedSupportedSupportedSupported
Sei SupportedSupportedSupportedSupported
Stable SupportedSupportedSupportedSupported
Stellar Non-EVM Soroban contractN/AN/AN/AN/A
Tempo Native TIP-20 tokenSupported 1Not supportedNot supportedNot supported
Unichain SupportedSupportedSupportedSupported
XLayer SupportedSupportedSupportedSupported

1 Classic v, r, s permit only. Accepts signatures from externally owned accounts, but not EIP-1271 contract wallet signatures.

Chain-specific notes:

  • Ethereum — there is no USDT0 token contract; the OFT Adapter locks and unlocks USDT, which has none of these features (see Ethereum source assets).
  • Polygon PoS — USDT0 is the upgraded canonical PoS USDT contract. It supports only the classic v, r, s permit, which accepts EOA signatures but not EIP-1271 contract wallet signatures. It also uses a different signing domain (see Signing domain).
  • Tempo — USDT0 is a native TIP-20 token implemented by the chain itself. It supports the classic v, r, s permit through TIP-1004, with EOA signatures only. The other features are not part of TIP-20.
  • Hedera — USDT0 is a native Hedera Token Service (HTS) token. The address exposes the standard ERC-20 interface (reads, transfer, approve, transferFrom) through Hedera's ERC-20 facade, but no signature-based features.
  • Arbitrum One, Berachain, and Flare — the deployed implementation predates ERC-7802.
  • HyperCore and Stellar — these deployments don't run on the Ethereum Virtual Machine (EVM). HyperCore USDT0 is a native spot asset, and Stellar USDT0 is a Soroban contract with a classic asset wrapper. EVM signature standards don't apply there.
  • Legacy Mesh chains (Tron, TON, Solana, and Celo) — these chains have no USDT0 token contract. Transfers there lock and unlock canonical USDT through the Arbitrum hub.

XAUT0 and USAT

Every XAUT0 EVM token contract — Arbitrum One, Avalanche, BNB Chain, Celo, Conflux eSpace, HyperEVM, Ink, Monad, Plasma, Polygon, and Stable — supports the full feature set, including ERC-7802. The HyperCore, Solana, and TON deployments are non-EVM: a native spot asset, a Solana Program Library (SPL) token, and a jetton, respectively. On Ethereum, the OFT Adapter locks XAUT (see Ethereum source assets).

The USAT token contract on Celo supports the full feature set, including ERC-7802. On Ethereum, the OFT Adapter locks USAT.

Ethereum source assets

On Ethereum, the OFT Adapters lock and unlock the original source assets, which have a more limited feature set. The adapters don't mint or burn, so ERC-7802 doesn't apply:

Source assetEIP-2612 Gasless approvalsEIP-3009 Gasless transfersEIP-1271 Contract wallet signaturesERC-7802 Crosschain mint/burn
USDT Not supportedNot supportedNot supportedN/A
XAUT Supported 1Not supportedNot supportedN/A
USAT Supported 1Not supportedNot supportedN/A

1 Classic v, r, s permit only. Accepts signatures from externally owned accounts, but not EIP-1271 contract wallet signatures.

Signing domain

The gasless approval and gasless transfer functions verify EIP-712 typed-data signatures. On every chain except Polygon PoS, they use the same domain:

const domain = {
name: await token.name(), // do not hardcode — token names vary across chains
version: '1',
chainId, // chain ID of the network the token is deployed on
verifyingContract: tokenAddress,
};
Polygon PoS uses a different domain

The Polygon USDT0 contract keeps the signing domain of the canonical PoS-bridged USDT it was upgraded from: a salt-based EIP-712 domain (EIP712Domain(string name,string version,address verifyingContract,bytes32 salt)) with no chainId field. A permit signed with the standard domain fails verification on Polygon. Use the following domain instead:

const polygonDomain = {
name: await token.name(), // do not hardcode — read the on-chain name
version: '1',
verifyingContract: tokenAddress,
salt: ethers.utils.hexZeroPad(ethers.utils.hexlify(137), 32), // chain ID as a bytes32 salt
};

For OFT interfaces and cross-chain transfer examples, see the Developer Guide. For contract addresses on every chain, see Deployments.