Perly Invoice

Crypto invoicing

A crypto invoice is an ordinary invoice that also names the asset, the network and the address to pay. Being paid in stablecoins solves the part of cross-border invoicing that is genuinely broken, five days and a SWIFT fee to move your own money, and adds one new way to lose it: the wrong network.

What has to be on the document

  • The asset, by ticker. USDC and USDT are not interchangeable, and "crypto" is not an instruction.
  • The network, spelled out. The same USDC exists on several chains and an address that is valid on all of them accepts a transfer on only the one you are watching.
  • The address, in a monospaced face, copyable, and as a QR code — because the failure mode of a hand-typed address is total.
  • The amount and the currency you are pricing in. If the invoice is €4,000 settled in USDC, say which number is the obligation.

Perly prints all of it. Add a wallet once under ways to get paid — asset, network, address — and the payment block on the sheet carries the asset's and the chain's marks, the address in mono, and a QR code beside it. An EVM address is the same address on every EVM chain, so you can tick the other assets and networks you will accept and the document says so. No account is needed for a single document: the free invoice generator takes the wallet on the sheet itself.

Non-custodial, and that is the whole design

The address on the invoice is your address. The transfer goes from your client's wallet to it, on chain, and Perly is never a party to it — no escrow, no custody, no processor, no percentage. The flip side is the one everyone knows: a transfer that has confirmed cannot be recalled. Check the network before you send the invoice, not after.

The chain can mark it paid for you

Switch Watch the chain on and a job reads the address that invoice prints, about every ten minutes — so not the second it lands. It reads two kinds of payment: bitcoin, counted once the transaction confirms, and USDC, USDT or DAI on each EVM chain it is offered on (the list is below). It needs Telegram connected, because Telegram is where it tells you, and it only knows the figure to look for when the invoice is priced in the money being paid: BTC for bitcoin, US dollars or a stablecoin for a stablecoin. A transfer of exactly what is still owed settles the document and says so in Telegram; anything else is ignored, because one address serves every invoice you send and a bigger transfer is as likely to be somebody else's. An address on Solana, or one asking for ETH, SOL or BNB themselves, is printed and paid like any other, and you mark the invoice paid. Off by default, per document, and you can always mark it paid by hand.

And when the client would rather send a bank transfer

Put a bank account on the same document. SEPA, SWIFT or a local account sit in the payment block beside the wallet, divided by a rule, and the QR code falls back to a SEPA payment code when there is no wallet. One invoice, two ways to settle it, and the client picks.

What happens to it afterwards

A stablecoin payment is a position from the moment it arrives, and a tax event in most places when it is converted. Perly Invoice does not track any of that — the Perly app does: cost basis, PnL, and what today did to the money you invoiced last month. Same account, no second sign-up.

Common questions

Which assets and networks are supported?
USDC on Ethereum, Base, Arbitrum, Optimism, BNB Chain and Solana; USDT on Ethereum, Arbitrum, Optimism, BNB Chain and Solana; DAI on Ethereum, Base, Arbitrum and Optimism; bitcoin on its own chain — and ETH, SOL or BNB priced in the coin itself. One EVM address serves every EVM chain listed. Not Polygon and not TRON: the list is a choice — bitcoin, Ethereum and its layer-2s, BNB Chain and Solana — and neither is on it. Every address is checked for its chain's shape before it is saved; the watcher reads bitcoin and the stablecoins on the EVM chains only. Whatever you add is printed exactly as you entered it.
Do you hold the funds or take a fee?
Neither. The address on the invoice is yours and the transfer never touches us. The only cost is the network's.
Can I price in euro and be paid in USDC?
Yes. The document's currency is what the obligation is in; the payment block says how you would like it settled. State the conversion basis in the notes so there is no argument about the rate.
Will it detect the payment automatically?
For bitcoin, and for USDC, USDT or DAI on an EVM chain, yes — if you switch the watcher on for that invoice, Telegram is connected, and the invoice is priced in what is paid (BTC, or US dollars or a stablecoin). It is not instant: the job looks about every ten minutes, and bitcoin counts once confirmed. It settles on an exact-amount match, which is what makes it safe to trust. Anything else — a payment on Solana, in ETH or BNB, or against an invoice priced in euro — you mark paid yourself, and the date is printed on the document.
What if the client sends on the wrong chain?
That is why the network is printed in full and the address is a QR code. Once a transfer has confirmed there is nothing anybody — us included — can do about it.

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