USDC · Ethereum · ERC-20

Accept USDC on Ethereum (ERC-20)

Receive Circle-issued native USDC on Ethereum mainnet through a tracked invoice without giving custody of the funds to GramPayBot.

GramPayBot supports Circle-issued native USDC on Ethereum mainnet. The hosted invoice sends the customer’s ERC-20 transfer directly to the merchant’s configured Ethereum address while the service monitors payment status.

  • Network:
    Ethereum mainnet
  • Token standard:
    ERC-20
  • Receiving address:
    0x + 40 hexadecimal characters
  • Network fee asset:
    ETH
  • USDC contract:
    0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
  • Decimals:
    6

Which receiving wallet should be used?

Use a public Ethereum address that you control and that supports ERC-20 USDC. Validate it in the EVM wallet address guide before issuing invoices. A shared 0x format across EVM networks does not prove that an exchange deposit address accepts Ethereum mainnet.

Self-custody wallets give direct control. Exchange deposit addresses may have minimums, temporary suspensions or restrictions on smart-contract deposits. Never give GramPayBot a seed phrase or private key.

Verify native USDC, not USDC.e or a copy

Circle publishes the Ethereum mainnet USDC contract as 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 in its official contract list. Confirm the exact address on Etherscan.

Do not paste this contract into the receiving-wallet field. It identifies native USDC; your 0x... wallet identifies who receives it. A token labelled USDC.e, bridged USDC or another contract is not this route even if its value or logo looks similar. Use the full USDC token verification checklist.

What the buyer must select

The buyer must choose Ethereum or ERC20 for USDC and use the native USDC balance matching Circle’s contract. USDC on Base, Polygon, Arbitrum, Optimism, BNB Chain or Solana does not pay this Ethereum invoice. A self-custody sender pays gas in ETH; an exchange can apply its own withdrawal fee.

Because Ethereum gas changes with demand, review the wallet’s current estimate at signing time. The fee is separate from the invoice amount.

How the invoice is matched

The product route is network enum eth plus token USDC. GramPayBot checks Ethereum mainnet, the native USDC contract, recipient and amount. An ETH transfer, USDT transfer or bridged USDC contract must not be counted as this payment.

In Etherscan, open the transaction hash and inspect successful status and the ERC-20 token transfer. Confirm the to recipient in the token event and the exact USDC contract, not merely the transaction’s top-level to field.

Exceptions and alternative routes

Wrong-network transfers, underpayments and late payments need separate review. An identical-looking EVM address does not guarantee the merchant can recover assets from a network they did not configure.

For Tether on the same network, use USDT Ethereum. For lower-cost alternatives, choose another supported route before creating the invoice rather than switching networks after it is issued. The supported-routes hub lists all available pairs.

Next step

Create a tracked USDC Ethereum invoice

Create a payment link ↗