Blog · Crypto & freelance · 30 July 2026 · 7 min
How to invoice a client in crypto, step by step.
An invoice in crypto is an ordinary invoice with four extra lines and one irreversible risk. Get the four lines right and the risk mostly goes away.
An invoice paid in crypto is an ordinary invoice with four extra lines and one risk that ordinary invoices don't have. Get the four lines right and the risk mostly goes away. Get them wrong and the usual outcomes are an awkward conversation about who eats a shortfall, or money that is simply gone.
The four lines
Every crypto invoice needs these, stated without ambiguity.
The asset. Not "crypto". Not "USDT or equivalent". The exact token, by name and symbol.
The network. This is the line people leave off, and it's the one that loses money. USDT on Ethereum and USDT on Tron are different tokens that share a name. Sending one to an address for the other is how funds disappear.
The amount, and how long it holds. Either a fixed token amount, or a fiat amount converted at a stated rate with a stated expiry.
The address, and how it will be confirmed. The address itself, plus the sentence that stops it being swapped in transit. More on that below.
Everything else on the invoice stays exactly as it was: your details, the client's, the work, the dates, the terms.
Quote in your currency, settle in a stablecoin
Your costs are in your local currency. Your rent is in your local currency. So the price of the work should be too, and the crypto is a way to get paid rather than a unit of account.
In practice that means one of two formats.
Fixed token amount. "2,000 USDT (TRC-20)". Simplest to pay, simplest to reconcile, and with a stablecoin the exchange risk over a few days is small. This is the right default.
Fiat amount with a conversion window. "1,850 EUR, payable in USDT at the rate on the date of payment. Rate quoted 30 July 2026: 2,010 USDT. This amount is valid for 5 business days." Use this only if the client insists on the fiat figure being the contractual one.
If a client wants to pay in something volatile, that's their prerogative and your risk. A 2,000 invoice settled in a coin that moves 8 percent while it confirms is a 1,840 invoice, and there's no version of that conversation you win afterwards. Either quote a token amount with a short expiry and hold them to it, or say no.
Picking the network
Two things decide it: where the client's money already is, and what the transfer costs.
- Tron (TRC-20) is where most business stablecoin flow sits. Fees are small and predictable.
- Solana and the cheaper Ethereum layer twos are inexpensive and fast, and increasingly normal for business payments.
- Ethereum mainnet (ERC-20) works everywhere and costs the most. Fine for a 20,000 invoice, absurd for a 400 one.
Offer one network and a fallback, not a menu. Every extra option is another chance for the wrong one to be used. And check before you offer: your own wallet or exchange must actually support receiving that token on that network. An exchange deposit address for USDT on one chain will not save a deposit that arrives on another, and support recovery, if it exists at all, is slow and sometimes paid.
State it on the invoice the way it will be typed: USDT, Tron network (TRC-20). Not "USDT (Tron/ETH)".
The risk that is not on any other invoice
A bank transfer to the wrong account can often be recalled. A crypto transfer cannot. There is no reversal, no chargeback, and nobody to write to.
The attack that exploits this is old and still works. Someone with access to an email thread, yours or the client's, sends a polite follow up with an updated address. It looks like your invoice, it uses your wording, and the money leaves for good. Nothing about the blockchain is broken in this scenario. The email was.
Three habits, none of which are difficult.
Confirm the address on a second channel. Send the invoice by email and the address by a different route, a call or a chat the two of you already use. One sentence: "the address ends in 9fK2, confirm it matches". A recipient who knows to check the last four characters is a recipient who cannot be redirected quietly.
Say on the invoice that the address never changes by email. Write it in plain words: "our payment address is never changed by email. If you receive an updated address, phone us before sending anything." That single line has saved more money than any technical control.
Ask for a small first transfer with a new client. 10 or 20, confirmed as arrived, then the rest. It costs a few cents and takes ten minutes, and it catches a wrong network, a wrong address and a client whose wallet doesn't do what they thought.
Who pays the network fee
State it, or you will absorb it. One line: "network fees are payable by the sender. The invoice amount must arrive in full."
Without that line, some clients will send 2,000 minus the fee and consider it settled. With a cheap network the difference is trivial and not worth an email. On an expensive one it is not trivial, and a client who is sending from an exchange may also be charged a withdrawal fee that has nothing to do with the chain. That's theirs, not yours, and the invoice should say so.
If you are the one paying a crypto invoice
The same document read from the other end, in the order that matters.
Read the network before anything else. Not the token, the network. Your wallet will open on whatever chain you used last, and the invoice may well be asking for a different one. This single mismatch is the most common way a payment is lost, and the loss is total rather than partial.
Check the address against something that is not the email. If the amount is worth an extra minute, ring the supplier and confirm the last four characters. An invoice arriving with a changed address, however well written the covering note, is the attack rather than an inconvenience.
Send the full amount. If the invoice says fees are payable by the sender, deducting the network fee leaves the supplier short and leaves you with an invoice that is not settled. On a cheap chain the amount is trivial and the argument is not.
Keep the transaction hash. It's your proof of payment and the only part of this that cannot be edited by anybody.
What to keep for your accounts
Whatever your local rules, the same three facts do the work.
- The transaction hash. It's the receipt. It proves an amount arrived at an address at a time, and it's the only piece of evidence that cannot be edited.
- The value in your local currency on the day it arrived. Almost everywhere, income is recognised at the value on the date of receipt. Record the rate you used and where it came from, and use the same source every time.
- What it cost you to receive. Withdrawal fees, conversion spread, the transfer out. Often deductible, and always relevant to what the job actually paid. Those costs are itemised here.
Also worth noting the day the reserve for tax moved, if you set one aside, which you should.
A crypto invoice template you can copy
Payable in USDT on the Tron network (TRC-20).
Amount: 2,000 USDT. Valid until 6 August 2026.
Address: TXy...9fK2
Network fees are payable by the sender. The full amount must arrive.
This address is never changed by email. If you receive a message updating it, call us on the number above before sending anything.
Five lines. Copy them onto every invoice.
The rest of the document is an ordinary invoice and doesn't need a special tool. If you don't have one, our invoice generator is free, prices in USDT and USDC alongside the ordinary currencies, and the five lines above go in the payment details box. It produces a PDF and asks for no account.
Keeping track once they start arriving
One invoice is easy. Nine, across two chains, two clients paying late and one paying in two parts, is where it stops being easy, because the payment arrives as a line on a chain with no invoice number attached to it.
That matching problem is what money in exists for: invoices you send, what has been paid, what is late, and an arriving payment recorded against the invoice it settles rather than as an anonymous credit that you identify by size in three months. The wider picture, where crypto arriving is just income and shows up next to everything else, is on the freelance page.
Asked next
The questions that follow this one.
Can I invoice a client in USDT?
Yes, and for work already done a stablecoin is the sensible choice, because the amount you agreed is still the amount that arrives. Price the invoice in USDT or USDC, name the network next to it, and the document is otherwise an ordinary invoice with your details, the client's, the work and the dates. Our free invoice generator prices in USDT and USDC, and the four crypto lines go in the payment details box.
How do I pay an invoice in crypto?
Read the network off the invoice before anything else, and send on that network rather than the one your wallet opens with. Match the token by symbol, check the address against a second channel if the amount matters, and send the full amount so the fee does not come out of what the supplier is owed. If the invoice does not name a network, ask before sending: the same token name exists on several chains, and money sent on the wrong one is usually gone for good.
What has to be on a crypto invoice?
Four lines beyond an ordinary invoice: the exact token by name and symbol, the network it must be sent on, the amount and how long it holds, and the address together with how it will be confirmed. Leaving the network off is the omission that loses money, because a token with the same name on two chains is two different tokens.
Which network should I ask to be paid on?
One you can actually receive on, chosen for cost. Tron and Solana are inexpensive and where most business stablecoin flow sits, cheap Ethereum layer twos are fine, and Ethereum mainnet is reasonable on a large invoice and absurd on a small one. Check your own wallet or exchange credits that token on that chain before you offer it, and offer one network plus a fallback rather than a menu.
How do I make sure a client does not send payment to the wrong address?
Confirm the address on a second channel, a call or an existing chat, by reading out the last four characters. Put a line on the invoice saying your address is never changed by email and to phone before sending if they receive one that does. With a new client, ask for a small first transfer, confirm it arrived, then the rest.
Next
More from crypto & freelance.
AI agents can pay, and get paid, on their own.
How an AI agent pays an invoice on its own over x402, why the money moves in stablecoins rather than on a card, and what an agent can never be allowed to do.
Crypto & freelanceJul 31, 2026How to invoice a client in another country, and get paid.
What to put on a cross border invoice, what reverse charge means on the document, which currency to bill in, and the line that gets an invoice rejected.
Crypto & freelanceSee it on your own books.
Thirty minutes: we connect an account, drop a real bill in, and close a month together.