How to Invoice a Client in USDC (and What to Put on the Invoice)
A USDC invoice is an ordinary invoice with four extra lines: the amount in USDC, the network, your wallet address and who pays the network fee. Get those right and the payment is hard to get wrong.

To invoice a client in USDC, write an ordinary invoice and add four things: the amount in USDC, the network you want it sent on, your wallet address for that network, and who pays the network fee. Add a due date and your usual details, and send it as you would any other bill. The network is the line that matters most. Leave it out and the client has to guess.
What to put on a USDC invoice
- Your name or your business name, and the client's. The same as any invoice.
- An invoice number, an issue date and what the work was.
- The amount in USDC, written as USDC. For example, 1,250.00 USDC. Not "$1,250", which a client may read as a bank payment.
- The network. For example, "USDC on Base" or "USDC on Solana". One network only.
- Your wallet address for that network, copied from your wallet, never typed.
- A due date.
- Who pays the network fee. Usually the sender, because their wallet pays it when they send.
- Optionally, bank details as an alternative, for a client who cannot send USDC.
Why the network line matters
USDC exists on several networks at once. USDC on Base and USDC on Solana are the same coin in two different places, and they are not interchangeable. If the client sends on a network you did not expect, the money does not arrive where you are looking for it.
So name one network and say it plainly. If you are free to choose, Base or Solana usually cost the sender a fraction of a cent. Ethereum itself costs more. If the client already holds USDC on a particular network, ask them which, and invoice on that one.
What happens if the client uses the wrong network
It depends on the address. Ethereum, Base, Polygon, Arbitrum, Optimism and Avalanche share one address format. If your address is your own wallet and the client sends on another of those networks, the USDC is usually at your address on that network. Add the network to your wallet and it should appear.
If your address belongs to an exchange, the exchange holds the key, and getting it back is up to them. Some will, some charge, some cannot. Solana and Tron addresses look different, and a wallet will usually refuse to send to the wrong kind.
Sources: I sent crypto on the wrong network. Is it gone?
Who pays the network fee
Every send on a blockchain pays the network a small fee, in that network's own coin: ETH on Base, SOL on Solana. The sending wallet pays it. Receiving costs you nothing on the network. Say so on the invoice, so a client does not take the fee off the amount.
Their exchange may also charge a withdrawal fee. A line such as "Please send the full amount; any sending fees are paid by the sender" settles it before it comes up.
The alternative: let them pay by bank transfer
Some clients only pay suppliers by bank transfer. You can still be paid in USDC.
With a Rampy deposit account you have bank details of your own in USD or EUR. Under Get paid, the Invoices tab creates an invoice against those details. It carries the amount in the account's currency, what it is for, who it is billed to and a due date if you set one. The last two are optional. It also has an invoice number for the client to quote as the payment reference. You send the client a link to the invoice page, and they can print it. The page shows your bank details, and the client pays by an ordinary bank transfer.
When a payment arrives, it is matched to the invoice by the reference. If the client left the reference out, it is matched by an amount within 1% of the invoice. Rampy marks the invoice paid and emails you. The payment converts to stablecoins in your wallet at 1.99% per deposit, with no flat fee, as on our pricing page.
Sources: Rampy pricing · Who can pay into a deposit account
A checklist before you send it
- The amount is in USDC and says USDC.
- One network is named, and it is one your wallet uses.
- The address was copied from your wallet and checked at the start and the end.
- The due date is there.
- It says the sender pays the network fee.
- For a new client or a large amount, you have asked for a small test payment first.
- Any bank details offered are current, and this client is allowed to pay into them.
Common mistakes
- Writing "$" instead of "USDC". The client pays by bank transfer to an address that is not a bank.
- Leaving out the network, or writing "ERC-20 or Solana". The client picks the one their app shows first.
- Typing the address by hand. One wrong character can send the money to an address nobody controls.
- Putting an exchange deposit address on the invoice without checking which networks that exchange accepts for USDC.
- Reusing old bank details. A Rampy deposit account with no payment for 60 days closes, after an email at least 14 days before. An invoice on closed details tells the client not to pay.
Bank details of your own that clients pay by ordinary transfer, with invoices that mark themselves paid. What arrives converts to stablecoins in your wallet at 1.99% per deposit.
Get paid in stablecoinsFrequently asked
Should I write the amount in USDC or in dollars?
In USDC, as the amount to send. If your accountant needs a value in your own currency, note the rate you used beside it. Do not let the client convert the figure themselves.
Can I put two networks on one invoice?
You can, but one is safer. Two networks means two addresses and a choice the client can get wrong. If you must offer two, put each address next to its network name on its own line.
What if the client pays less than the invoice?
On a USDC send, ask them to send the rest; their app may have taken a withdrawal fee from the amount. On a Rampy invoice paid by bank transfer with the invoice number as the reference, a short payment still marks it paid, and the email tells you it is less than the invoice. Without the reference, only a payment within 1% of the amount is matched.
Does Rampy hold the money while I wait to be paid?
No. A USDC payment goes straight to your wallet. A bank transfer to your deposit account converts on arrival and the stablecoins go to the wallet you chose. Rampy never holds your keys.