Invoice clients in USDC
Create USDC invoices that say exactly which chain to pay on and where to send funds. Payments are detected on-chain, matched to the invoice, and stored with the transaction hash as proof.
Start USDC InvoicingUSDC is the stablecoin most finance teams are willing to hold, because its issuer publishes reserve attestations and it is widely supported by regulated on-ramps. The invoicing around it is still usually manual:
How it works
USDC invoicing in four steps
Pick the chain and amount
Choose Ethereum or Tron, set the amount and due date, and select the wallet that should receive it.
Send unambiguous instructions
The invoice names the exact contract and network, so a client cannot send Ethereum USDC to a Tron address.
Detect the payment on-chain
The receiving wallet is polled continuously and inbound USDC transfers are matched against open invoices.
Keep the proof attached
The transaction hash, sending address, block time, and confirmation count stay on the invoice record.
Context
Why businesses invoice in USDC
- Issued by Circle, which publishes regular reserve attestations
- Widely supported by regulated exchanges and on-ramps
- Often the stablecoin finance and audit teams are most comfortable with
- Settles in minutes rather than the days a cross-border wire can take
- Native support here on Ethereum and Tron, with six decimal places on both
Common mistakes
Errors this workflow prevents
- Client pays USDC on a chain the invoice never specified
- Funds arrive from an exchange, so the sending address is not the client's
- Invoice marked paid on the first confirmation, before the transfer is final
- A short payment closes the invoice instead of leaving a balance
- Proof exists only as a screenshot in a chat thread
Naming the chain on the invoice and confirming on-chain removes most of them before they happen.
FAQ