Merchant decision guide
Static vs. Dynamic QR Codes for Crypto Payments
When you accept crypto, the customer scans a QR code to pay. That code can be a single fixed one you print and reuse, or a fresh one your system generates for each sale. The choice affects accuracy, bookkeeping, and privacy more than it first appears. Here is the plain-English guide.
This is a practical setup decision, not a Bitcoin-versus-something comparison. Both options accept the same crypto; they differ in how the payment request is created and shown to the customer.
The short version: a static QR is cheap and simple but puts more on the customer and on you to get the amount right and match payments to sales. A dynamic QR, generated per sale, handles the amount and reconciliation for you, at the cost of needing a point-of-sale screen or app. Most fixed-counter businesses are better served by dynamic; some low-volume or tip-style setups do fine with static.
Quick comparison
A side-by-side look at the practical differences for a merchant.
| Static QR | Dynamic QR | |
|---|---|---|
| What it is | One fixed code, printed and reused for every customer | A fresh code per sale, with the exact amount built in |
| Amount | Customer types the amount, so errors are easier | Amount is pre-filled, so it is exact |
| Setup cost | Near zero: print a sign or card | Needs a phone, tablet, or POS to generate codes |
| Reconciliation | Harder: payments share one address, so matching to sales takes effort | Easy: each sale has its own invoice or address |
| Privacy | Address reuse links payments together publicly | A new address per sale improves privacy |
| Customer effort | Scan, then type the amount and send | Scan and confirm; nothing to type |
| Refunds | Manual and harder to trace to a specific sale | Easier to tie a refund to a specific invoice |
| Best fit | Tips, donations, very low volume, no POS | Any fixed counter, retail, or online checkout |
Both accept the same crypto. Static is a single reused code; dynamic is generated per sale, usually by a wallet app or processor. Lightning invoices are inherently dynamic.
What a static QR code is
A static QR code encodes a single fixed receiving address or Lightning address. You print it once, put it on a card or sign at the counter, and every customer scans the same code. It is the simplest possible setup: no screen, no app, no per-sale action from you.
The trade-offs come from that simplicity. Because the code has no amount attached, the customer types in what they owe, which leaves room for underpayment or overpayment. Because every payment lands on the same address, matching payments to specific sales is harder, and reusing one address links your payments together on the public ledger, which is weaker for privacy.
Static works best where those downsides do not matter much: a tip jar, a donation sign, or a very low-volume seller who can eyeball each payment. A Lightning address, which reads like an email address, makes a clean static display and is a good fit for this style.
What a dynamic QR code is
A dynamic QR code is generated fresh for each sale, with the exact amount, and often a unique address or invoice, baked in. Your wallet app, tablet, or point-of-sale system creates it when you ring up the sale, and the customer simply scans and confirms.
This solves the two big static problems at once. The amount is exact, so underpayments and overpayments largely disappear, and each sale has its own invoice, which makes reconciliation and refunds straightforward. A new address per sale also improves privacy. Lightning invoices are dynamic by nature, since each one is a one-time request.
The only real cost is that you need a device to generate the code: a phone, tablet, or POS running a wallet or processor. For any business with a fixed counter or an online checkout, that is already in place.
Which to use, and when
For nearly any real point of sale, use dynamic. The accuracy and reconciliation benefits are worth the small setup, and most merchants already have the device needed.
Use static when there is no register and the amounts are informal: tips, donations, a market stall taking round numbers, or a first experiment before you commit to a setup. Pair a static code with a clear verification step so you confirm the right amount arrived.
Building a counter display? The free Merchant Card Builder creates a printable payment card with your QR code, ready to laminate, which is ideal for a static setup.
Who each fits
Static suits
- Tip jars, donation points, and buskers.
- Very low-volume or occasional sellers with no POS.
- A quick, no-cost first test of accepting crypto.
Dynamic suits
- Any fixed counter: cafe, shop, restaurant, service desk.
- Online checkouts, where the amount is always known.
- Anyone who wants clean books and easy refunds.
Operational considerations
Wrong amounts. This is the single biggest reason to prefer dynamic. A pre-filled amount prevents most mistakes. If you use static, build in a confirmation step; our guide on wrong-amount payments covers how.
Reconciliation and taxes. Dynamic invoices make it easy to match each payment to a sale and record the dollar value at receipt. With static, keep a manual log so your books stay clean.
Staff. Either way, give employees a one-page procedure. Our staff training guide covers confirming a payment at the counter.
The clear default
For most businesses, use dynamic QR codes through a wallet app or processor. The exact-amount and per-sale-invoice benefits remove the two most common headaches of accepting crypto, and the setup is minimal if you already have a phone or tablet at the counter.
Keep static in your back pocket for tips, donations, or a quick trial. It is genuinely useful there, and a printed Lightning address makes a tidy sign.
This is a low-stakes decision with a clear default: dynamic for selling, static for informal or occasional use.
For the whole picture, the Merchant's Guide to Cryptocurrency Payments walks through setting up crypto payments end to end: wallets, custody, conversion, records, and the day-to-day operations behind the choices on this page. Plain English, balanced.
Common questions
- What is the difference between a static and dynamic QR code for crypto?
- A static QR code is one fixed code you print and reuse, where the customer types the amount. A dynamic QR code is generated fresh for each sale with the exact amount built in, so the customer just scans and confirms. Dynamic is more accurate and easier to reconcile; static is simpler and cheaper.
- Which QR type should a merchant use?
- For any real point of sale, dynamic, because the amount is exact and each sale has its own invoice for clean books and easy refunds. Static is fine for tips, donations, or very low-volume use where you can verify each payment by hand.
- Is a static QR code less private?
- Somewhat. Because every payment goes to the same reused address, those payments are linked together on the public ledger. A dynamic setup uses a new address per sale, which improves privacy. For a merchant, this matters more for bookkeeping clarity than for secrecy.
- Are Lightning payments static or dynamic?
- Lightning invoices are inherently dynamic: each one is a one-time request for a specific amount. You can also display a static Lightning address, which reads like an email address, for tips or donations, but a normal Lightning checkout generates a fresh invoice per sale.
- Do I need special equipment for dynamic QR codes?
- Only a phone, tablet, or point-of-sale system running a wallet app or payment processor, which most businesses already have. That device generates the per-sale code. A static code needs nothing but a printed sign.
Keep comparing
More decision guides
Learn the fundamentals