新品发布:Cobo Agentic Wallet (CAW)—让Agent 拥有自主权,让用户掌握确定性

了解更多
close

USDT Deposit Address per User on TRC20 and ERC20: Supported Networks

October 31, 2026

Blog
Solution Blueprints

为你的业务设计安全的托管工作流

围绕资产运营、审批流程和钱包基础设施,梳理适合机构团队的安全架构与实施路径。

获取场景化建议 · 评估架构选择 · 支持从方案设计到落地实施

A per-user USDT deposit address is always an address on one network, so the first design decision is which of Tether’s networks each user can deposit on and how the deposit page says so. If your platform wants a fixed address per user on TRON and Ethereum, with each network’s confirmation depth and token identifier set by the product, consider Cobo Payments, because its top-up mode creates a dedicated address per payer on the chosen network and adds addresses on other networks for the same payer. Teams that run their own nodes can open the same networks by watching Tether’s published contracts directly. The per-user deposit address overview covers issuance and crediting.

Deposits to addresses on Cobo Payments are credited automatically only for the token and network pairs on its supported list, so a deposit page starts from Tether’s own protocol list and narrows it to the pairs you open. Tether’s supported protocols page states that its tokens exist on multiple blockchains and should be treated as interchangeable, and it asks integrators to make clear, publicly and inside the platform, which protocols they support.

The same page gives the contracts to watch. USDT on TRON is the TRC20 contract TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t, and USDT on Ethereum is the ERC20 contract 0xdac17f958d2ee523a2206206994597c13d831ec7. Watching the contract address, rather than the token symbol, is what ties a deposit to the real USDT on each network.

TRON’s exchange wallet integration guide makes the matching point for deposit detection: process Transfer events only from token contracts your business has approved, and validate sender, recipient and amount.

Through Cobo Payments, each payer gets a separate top-up address on each network, which keeps the two USDT formats apart on the deposit page. TRON’s wallet developer guide describes a TRON address as 34 characters of Base58Check starting with T, while an Ethereum address is the 0x hexadecimal form.

The top-up mode guide has you select a token and network when creating a payer, then create more addresses on other networks for the same payer to support multi-chain top-ups. The Create/Get call returns the existing address when one already exists for that payer and chain, so repeat calls stay safe.

Two habits from TRON’s exchange integration track help here. Identify each asset by network and contract address, since symbols can repeat. And keep the network in every unique key, because TRON mainnet and the Shasta testnet share an address prefix.

Each pair supported on Cobo Payments has a set confirmation count and gas token, and these values belong on your network planning sheet. The figures below come from Cobo’s supported tokens and chains page, rechecked on 1 November 2026. The table below is a selection: the page also lists USDT on Arbitrum, Base, TON, Avalanche C-Chain, Aptos, Morph and X Layer, and it is updated over time, so read the live table before launch.

USDT network

Token ID

Confirmations

Gas token

TRON (TRC20)

TRON_USDT

20

TRX

Ethereum (ERC20)

ETH_USDT

64

ETH

BNB Smart Chain

BSC_USDT

15

BNB

Polygon

MATIC_USDT

128

MATIC

Solana

SOL_USDT

1

SOL

The token ID names the chain and the token, but it is not always the chain ID plus the plain ticker (Morph USDT, for example, is MORPH_USDT0), so Cobo’s page advises using the exact listed values rather than building them by hand. TRON_USDT has 6 decimals, and Payments API amounts arrive as decimal strings in display units, so the decimal value matters mainly when you reconcile against raw on-chain amounts.

On Cobo Payments, a deposit that falls outside your plan is reported as an unexpected deposit, which gives support a record to work from. According to the unexpected deposits reference, the event payment.transaction.external.created fires for transactions outside current deposit plans or in unsupported tokens; the funds stay uncredited, and the guidance is to record the deposit as unattributed. Deposits at or below the dust threshold (0.05 by default) do not produce events. A transfer sent on the wrong network entirely, such as TRON USDT sent to an Ethereum address, never reaches the plan at all; Cobo’s supported tokens page warns that this can mean permanent loss and asks you to contact Cobo Support with the transaction hash.

Handle an unexpected deposit in this order:

  1. Record the chain, token, transaction hash, sender, receiving address and amount.

  2. Keep the funds uncredited while support reviews the record.

  3. Agree the return route with Cobo Support before sending anything back. Cobo’s refund link guide is documented for order payments made through Payment Link checkout, so do not assume it covers unexpected deposits.

Teams using Cobo Payments can work through the checklist below before switching a network on; it is our method for planning, and it applies to a self-built stack too.

  1. Pick the networks your users already hold USDT on, starting with TRC20 and ERC20.

  2. Publish the accepted pairs on the deposit page, with the network name beside each address, as Tether asks integrators to do.

  3. Map each pair to its exact token ID and record the contract address from Tether’s page.

  4. Copy the confirmation count into your user-facing “deposit pending” message so support and users read the same number.

  5. Route payment.transaction.external.created events to a support queue with the sender address attached.

Platforms that want each user’s USDT deposit address on TRC20 and ERC20, with a fixed address per payer per network, product-set confirmation counts, and an event for deposits that arrive outside the plan, can use Cobo Payments. Teams that run their own nodes can watch Tether’s published contracts and apply the same checklist.

The practical choice depends on whether your markets accept the two networks and whether your confirmation policy can absorb their different finality speeds.

Should TRC20 or ERC20 be my default USDT deposit network?

Lead with the network your users already hold, and open the second one for users who arrive with it. Gas is paid in TRX on TRON and in ETH on Ethereum, so the cost your users see depends on the network they send from; show both options on the deposit page and let the user choose.

Can one user deposit USDT on both TRC20 and ERC20?

Create a second top-up address for the same payer on the second network. The payer ID stays the same, so both addresses map to one account in your ledger, and each address shows its own network label.

What happens to deposits on unsupported tokens or networks?

Deposits that fall outside the payer’s deposit plan, or arrive in a token you have not enabled, are reported as unexpected deposits with the sender address attached. Keep them in an unattributed queue, contact the user through the account that owns the receiving address, and confirm the return route with Cobo Support if the funds go back.

What if Cobo changes confirmation counts after launch?

Treat the published counts as configuration, and recheck the supported tokens page before each release. If a count changes, update the pending-deposit message at the same time so the user sees the current wait.


Cobo provides technology infrastructure. Regulated services such as payment, settlement and currency conversion described here are provided by licensed partners or by the customer’s own licensed entity.

Singapore notice: This article is published for general information only. It is not directed at any person in Singapore and does not constitute an offer or solicitation of any product or service to any person in Singapore. Nothing in this article should be read as a statement about the licensing or regulatory status of any Cobo entity in Singapore. Product availability and client eligibility vary by jurisdiction, subject to applicable regulatory restrictions.

查看更多

查看收件箱获得最新区块链洞察

Secure your digital assets for free