← Perly InvoiceУкраїнська
Perly Invoice

How to get paid in crypto as a freelancer

Getting paid in crypto is not a technical problem. The transfer is the easy part — it is minutes and cents. What goes wrong is everything around it: agreeing the unit, naming the chain, and proving afterwards what you were actually paid.

Agree it before the work, not on the invoice

A wallet address appearing for the first time on an invoice reads as a compromised email, and a cautious client is right to stall. Settle it in the engagement: which asset, which chain, which unit the price is in, and who absorbs the network fee. One paragraph, once.

Decide what the price actually is

  • Priced in a currency, settled in stablecoin — the common case. "€4,000, payable in USDC on Base." The obligation is the euro figure; say so.
  • Priced in the coin — "0.1 BTC". The obligation is the coin, and the price risk between issue and payment is your client's.
  • Priced in a currency, settled in bitcoin — the ambiguous one. Name a rate, a source and a date, or accept whatever they decide it was.

What goes on the invoice

  1. Everything an ordinary invoice carries — see how to write an invoice. Being paid on a chain does not exempt you from the tax lines.
  2. The asset by ticker and the network in full.
  3. The address, monospaced, plus a QR code — a hand-typed address is a total loss when it goes wrong.
  4. A due date, the same as any other invoice.
  5. Optionally a bank account beside it, so a client who cannot send crypto this week still can pay you.

Confirming it, without watching a block explorer

Turn on Watch the chain for that invoice and a job reads the address it prints every ten minutes. A transfer of exactly the amount outstanding settles the document and says so in Telegram. It is exact on purpose: one address serves every invoice you send, so a near-miss is more likely somebody else's client than yours. Bitcoin is counted only once confirmed.

Afterwards

  • Record what you received, in the coin and in your currency, on the day. That figure is your income, and reconstructing it a year later from a block explorer is miserable.
  • Assume the conversion is its own event. In many places selling the coin is a separate taxable moment from earning it.
  • Do not leave a year of income on an exchange you do not control the keys to.

For the position rather than the invoice — cost basis, PnL, what today did to last month's payment — that is the Perly app, on the same account.

Common questions

Is it legal to invoice in crypto?
In most places, yes, and it is ordinary income when you receive it. Some jurisdictions restrict it and a few require the invoice to state a national-currency equivalent. Ask your accountant about yours.
What if the client has never sent a stablecoin before?
Ask for a small test transfer first, and put both a wallet and a bank account on the invoice. A client who fails to pay you is worse than a slow rail.
Who pays the network fee?
Convention is the sender, as with a bank transfer. Say so anyway — on Ethereum mainnet it is enough money to argue about.
How do I prove I was paid?
The transaction on chain, plus your own invoice marked paid with its date. Perly prints the paid date on the document and keeps the timeline.
Should I ask for stablecoins or bitcoin?
Stablecoins for work you are pricing in money, which is nearly always. Bitcoin when both sides genuinely want the exposure — see [bitcoin invoicing](/bitcoin-invoicing).

Make one now

The generator is the front page. No account, no sign-up, no watermark — fill the document in and the PDF is yours.

Open the invoice generator