Perly Invoice

USDC invoicing

USDC is the stablecoin most clients already hold, and the one most finance teams will agree to send. What it needs from an invoice is boringly specific: which chain, which address, how much, and no ambiguity about any of the three.

Every chain USDC actually lives on

Add a wallet once and pick the network: Base, Ethereum, Arbitrum, Optimism, Polygon, BNB Chain or Solana. The invoice then prints the asset and the chain by name, the address in a monospaced face, and a QR code beside it.

An EVM address is the same address on all six EVM chains, so you can tick the others you will accept and the document says so — one address, several ways for the client to send. Solana is its own address and its own row.

The contract, frozen onto the document

USDC is a different contract on every chain, and a different number of decimals: six on Ethereum and Base, eighteen on BNB Chain. The same $1,200 is a different integer on each. Perly keeps one table of those contracts, every row read from its own chain before it was written down, and freezes the right one onto the document — which is what lets a client's wallet open a pre-filled transfer from the payment page instead of copying an address by hand.

Let the chain mark it paid

Switch Watch the chain on and, every ten minutes, a job reads the `Transfer` logs for that contract, filtered to the address your invoice prints. A transfer of exactly what is still owed marks the invoice paid and says so in Telegram. Exact, because one address serves every invoice you send — a larger transfer is as likely to be a different client's.

Non-custodial, and free

The address on the invoice is yours. The transfer goes from your client's wallet to it, on chain, and Perly is never a party — no escrow, no processor, no percentage. The only cost is the network's, which on Base or Solana is cents.

Deciding between the two big stablecoins? USDC vs USDT is the short version.

Common questions

Which network should I ask for?
Base or Solana if you want the fee to be negligible, Ethereum if your client's treasury insists on mainnet. Whatever you choose, print it — an address valid on six chains only receives on the one you are watching.
Can I price the invoice in dollars and be paid in USDC?
Yes, and for USDC that is nearly the same number. Say in the notes which figure is the obligation if you want it beyond argument.
Do you hold the USDC or take a cut?
Neither. It goes straight to your wallet and we never see it.
What if the client sends on the wrong chain?
Then it arrives at the same address on a chain you are not watching — recoverable if you control the key on that chain, which with an EVM address you usually do. Printing the network in full is how you avoid finding out.
Does it work for partial payments?
You can record a deposit or an instalment by hand and what is left updates everywhere. The automatic watcher settles on the exact remaining amount.

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