How to create a Crypto QR code
- 1
Choose the coin
Pick Bitcoin, Ethereum, Litecoin or Solana, the coin you want to receive.
- 2
Add your address
Paste your receiving address from your wallet. Add an amount and a note if you like.
- 3
Download and test
Scan it with your own wallet app and check the address and amount before sharing it.
How a crypto QR code works
The code holds a standard payment request. When someone scans it with their wallet app, the wallet fills in your address and, if you set them, the amount and note. The payer checks the details and confirms.
| Coin | Format in the code |
|---|---|
| Bitcoin | bitcoin:address?amount=0.001&message=… (BIP21) |
| Ethereum | ethereum:address?value=… (EIP-681, amount in wei) |
| Litecoin | litecoin:address?amount=… (BIP21) |
| Solana | solana:address?amount=…&message=… (Solana Pay) |
For Ethereum, we convert the amount you type in ETH into wei exactly, so there are no rounding errors. Ethereum requests don’t carry a note.
Check the address three times
Crypto payments are final. If an address is wrong, the money is gone. Before you share or print the code:
- Copy the address from your wallet rather than typing it.
- Check the first and last few characters against your wallet.
- Scan the finished code with your own wallet and compare again.
Also make sure you picked the right coin. A Bitcoin address won’t receive Ethereum, and the other way round.
Amount or no amount?
- With an amount: for invoices and fixed prices. Crypto prices move, so set the amount close to when you share the code.
- Without an amount: for donations, tips and open invoices. The payer enters the amount.
Where people use crypto QR codes
- Donations: open-source projects, creators, charities and streamers
- Invoices for freelancers and agencies that accept crypto
- Events, meetups and conferences about blockchain
- Shops and cafés that take crypto at the counter
- Paper backups of a receiving address. Never put a private key or seed phrase in a QR code.
Privacy
Blockchain payments are public. Anyone who knows your address can see what it has received. Many wallets create a new receiving address for each payment. For a public donation code that’s fine, but for invoices, consider a fresh address per customer.
Why this code is static only
A crypto request isn’t a web link, so it can’t go through a redirect. This code is static: the request is stored in the pattern, and it works without us, forever. For a payment page you can edit later, use a payment link from a crypto payment provider.
Print tips
Crypto addresses are long, so these codes are denser than most. Print them at 3 cm or larger, keep them black on white, and skip heavy styling and large logos. Print the first and last few characters of the address under the code, so payers can check them.
This page explains a file format. It isn’t financial advice.