easyway
Create account

Accept USDC payments on 5 networks

USDC is Circle's dollar stablecoin. easyway accepts it on Ethereum, BNB Smart Chain, Solana, Polygon and Avalanche through one API and one hosted checkout, so a customer can pay from whichever chain their USDC already sits on.

Networks, contracts and limits

Every network has its own USDC contract. A deposit is only counted when it comes from the contract listed here; the API returns human-readable amounts, so the different decimals never reach your code.

NetworkAPI idContractConfirmationsMin. withdrawalWithdrawal fee
Ethereum · ERC-20USDC_ERC200xA0b8…eB48120.5 USDC1.5 USDC
BNB Smart Chain · BEP-20USDC_BEP200x8AC7…580d150.5 USDC0.1 USDC
Solana · SPLUSDC_SOLEPjFWd…Dt1v10.5 USDC0.3 USDC
Polygon · PoSUSDC_POLYGON0x3c49…3359640.5 USDC0.1 USDC
Avalanche · C-ChainUSDC_AVAX0xB97E…8a6E100.5 USDC0.1 USDC

The platform fee is 0.5% on every network: a customer paying 100 USDC leaves you 99.5 USDC. Other coins are on the pricing page.

Which network should your customers use?

All five settle the same dollar, so the choice is about the customer's wallet and the network fee they pay to send. Solana, Polygon, Avalanche and BNB Smart Chain usually cost the sender cents or less and are credited within seconds to a couple of minutes. Ethereum costs the sender more and needs 12 blocks (a few minutes), but many wallets and exchanges still hold their USDC there. You don't have to pick: let the customer choose on the checkout, or fix the network per invoice.

Native USDC, bridged USDC.e and USDC on BNB Smart Chain

On Polygon and Avalanche two tokens are called USDC: Circle's native USDC and the older bridged USDC.e. Only the native contract above is credited; the checkout shows a note about this on those two networks, because a USDC.e transfer to the invoice would not be counted.

On BNB Smart Chain the USDC token is the Binance-Peg version (0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d), which is what BSC wallets and exchange withdrawals send. It uses 18 decimals instead of 6; amounts in the API are the same human-readable strings either way.

How a payment is detected

Every invoice gets its own deposit address, so a payment is matched to its invoice by where it arrives. On the EVM networks the same address format is used everywhere, which is why the checkout always names the network next to it: USDC sent on a different chain than the invoice's is not credited to that invoice. On Solana, USDC arrives in the address's token account and is read from the network's own balance tables once finalized; the Solana page explains that flow in detail.

Integrating USDC payments

Create an invoice with currency set to one of the API ids above (for example "USDC_POLYGON"), or leave the choice to the customer, and redirect to the hosted checkout. A signed webhook fires when the invoice is paid. The quickstart and webhook guide have runnable code.

Also accepted

USDT on TRON, BNB Smart Chain, Ethereum, TON, Solana and Polygon and Avalanche, plus DAI, FDUSD and the native coins — see pricing.

Create a merchant accountRead the API docs
Accept USDC payments on 5 networks | easyway