Skip to main content
molnpay

Deposit addresses · USDT

Tether deposit addresses for your users.

Give every one of your users a permanent Tether address they can deposit to any time. It has no private key, and we pay the network fee to collect what lands on it. The most-used settlement asset in crypto payments, and the one most merchants price in.

USDT on 13 chains.

Enable the ones your users need. Each gives that user their own address, and enabling a new one later gives it to the users you already have.

EthereumERC-20
BNB ChainBEP-20
PolygonERC-20
ArbitrumERC-20
BaseERC-20
OptimismERC-20
AvalancheERC-20
LineaERC-20
zkSyncERC-20
ScrollERC-20
TronTRC-20
SolanaSPL
TONJetton
USDT on Ethereum
Gas here is the highest of any chain on this list, so a payment has to clear a minimum amount to be worth collecting. The checkout shows that minimum to your payer before they choose Ethereum, and every other chain here is cheaper.
USDT on BNB Chain
USDT and USDC have 18 decimals on BNB Chain, where they have 6 almost everywhere else. Read decimals from the API rather than writing 6 into your code — getting it wrong is a silent error of twelve orders of magnitude.
USDT on Scroll
The USDC on Scroll is the bridged token, because Circle does not issue natively here. It spends the same way; the contract address is just not Circle's own.
USDT on Tron
There is no USDC on Tron — Circle ended its TRC-20 issuance in February 2024. USDT is what everyone uses here in any case, and it is the most common way money moves on this list.
USDT on TON
USDT is the only stablecoin we settle in on TON today. Other jettons can still be received at a deposit address.

Issuing a Tether address.

  1. Create the customer

    One POST with your own user id as the reference. This is the record everything else hangs off.

  2. Ask for an address per chain

    One per (customer, chain), and it does not change. The same customer has the same address on every EVM chain, and you can show it again tomorrow without calling us.

  3. Credit on deposit.confirmed

    We watch every block, credit what lands, and pay the network fee to move it. Nothing we do behind an address ever changes what you are owed.

POST /v1/customers
curl https://api.molnpay.com/v1/customers \
  -H "Authorization: Bearer $MOLNPAY_SECRET_KEY" \
  -H "Idempotency-Key: user_4471" \
  -d reference_id="user_4471"

What you do not have to do.

  • Hold a USDT wallet, or guard a seed phrase for one. No address here has a private key.
  • Keep gas on hand. We pay the network fee on every chain USDT settles on.
  • Re-issue an address. One per user, per chain, and it does not change.
  • Watch every block yourself, or reconcile a reorg by hand.

Taking USDT payments instead?

Same API, same keys, same balance — the difference is whether the address belongs to an invoice or to one of your users.

Accept Tether payments

Addresses for another asset