How to Accept Stablecoin Payments Across Multiple Chains (2026)
How to accept USDC and USDT payments across Ethereum, Polygon, Solana, and Tron in 2026 — allowlists, fiat-quoted amounts, fees by chain, and non-custodial settlement.
TL;DR
Stablecoins like USDC and USDT exist on several chains, and your clients won't all use the same one. The right setup lets you allowlist the assets and networks you want, quote the amount in fiat, and accept payment on whichever supported chain the client prefers — with funds swept to a wallet you control. Here's how to do it cleanly.

I run product at Settlematic, so this is biased but practical.
Why multi-chain matters for stablecoins
The same stablecoin can live on Ethereum, Polygon, Solana, Tron, and more. Each chain has different fee characteristics: a client paying a small invoice may prefer a low-fee network, while an enterprise client might default to Ethereum. If you only accept one chain, you force every client onto your preference — and create friction for the ones who hold the asset elsewhere. Accepting across chains removes that friction without you holding a dozen separate balances mentally.
Setting it up
- Choose which stablecoins to accept — commonly USDC and USDT.
- Allowlist the networks for each — for example USDC on Ethereum, Polygon, and Solana; USDT on Tron and Ethereum.
- Quote in fiat. The invoice shows USD/EUR/GBP; the stablecoin amount is calculated at payment. Since stablecoins track their reference currency, the amount maps cleanly.
- Set the destination wallet for sweeps on each chain, in a non-custodial setup.
- Send the hosted link. The client picks a stablecoin and network and pays.
The fee conversation, handled
Network fees differ by chain and fluctuate. The practical move is to allowlist a low-fee chain and a widely-held one, so small invoices can settle cheaply while clients who only hold the asset on Ethereum aren't blocked. Be explicit with clients about which networks you accept — that one line in your payment instructions prevents the most common error.
Avoiding the wrong-chain mistake
The classic support incident is a client sending USDC on a network you don't accept, or sending to the wrong address format. Two defenses: a strict allowlist (so the payment page only offers networks you support), and a testnet dry run before going live. Test each network you plan to allow by paying yourself first.
Try it
Run a free testnet workspace and accept a test stablecoin payment on each network you plan to allow, to confirm the flow before real clients use it.
Explore Settlematic
Ready to try the workflow in your own workspace? Start on testnet, then explore our how it works guide and product features.