Client says they sent USDC, but it's not in your wallet

Before anyone panics: almost every "missing" stablecoin payment is one of the five cases below. Ask your client for the transaction hash first; everything else follows from it.

1. Wrong network

The most common cause by far. Your client sent USDC on Ethereum but your wallet is showing Base, or the reverse. Your address is the same on every EVM network, so the funds are there, just on another chain.

Fix: paste the transaction hash into the search box of each network's explorer (Etherscan, Basescan, Arbiscan, Optimistic Etherscan, Polygonscan) until one finds it. That tells you the network; switch your wallet to it. Nothing is lost.

2. Wrong token (bridged vs native USDC)

On Polygon, Arbitrum and Optimism there is native USDC and an older bridged version (USDC.e). Wallets often show only one by default.

Fix: on the explorer, click the token in the transaction and note its contract address, then add that token to your wallet. You can swap USDC.e to native USDC on most DEXs for a small fee.

3. Transaction still pending or failed

On the explorer, check the status. "Pending" usually means the gas fee was too low and it will either confirm or be dropped. "Failed" means no tokens moved, though the sender still paid gas.

Fix: pending: wait or ask the client to speed it up in their wallet. Failed: ask them to resend.

4. Sent to the wrong address

Compare the recipient on the explorer with your address character by character, not just the first and last few. Address-poisoning scams plant look-alike addresses in a victim's history.

Fix: if it's a different address, the funds went to whoever controls it. Only that party can return them. This is why QR codes and pay buttons beat copy-paste.

5. Sent from an exchange that hasn't processed it

Exchange withdrawals can sit in a queue for minutes to hours, and the client sees "sent" before anything is on-chain.

Fix: ask for the on-chain transaction hash. If the exchange doesn't show one yet, it hasn't been sent.

Prevent it next time

Invoices that check themselves

opnaco invoice links spell out the network, include a QR code and pay button, and show Paid with the transaction hash as soon as the exact payment lands. Free, no signup.

Create a USDC invoice →