Guide

QR Codes for Crypto Wallets and Payments

How cryptocurrency wallet addresses and payment requests are shared safely and accurately through QR codes

Cryptocurrency wallet addresses are long strings of random-looking characters, often 26 to 62 characters depending on the coin, that are practically impossible to read aloud or retype accurately by hand. A single mistyped character sends funds to the wrong address with no way to reverse the transaction, which is exactly the kind of high-stakes, error-prone task QR codes were built to solve. Scanning a code instead of typing an address eliminates transcription errors entirely, which is why every major crypto wallet app supports scanning a QR code to fill in a recipient address instantly.

How wallet address QR codes work

At its simplest, a crypto wallet QR code just encodes the wallet address itself as plain text, so scanning it with any general-purpose QR reader reveals the address as a string of characters that can be copied. This works for identifying an address but doesn't automatically open a wallet app or pre-fill a transaction.

Most crypto wallet apps instead expect the QR code to use a specific URI scheme for that coin, such as 'bitcoin:' followed by the address for Bitcoin, or 'ethereum:' for Ethereum-based transactions. When a wallet app's built-in scanner reads a code formatted this way, it automatically recognizes the coin type and opens directly to a pre-filled send screen rather than just showing plain text.

Because a general free QR code generator typically creates a plain text or URL QR code rather than a coin-specific URI scheme code, it's important to know which format the intended wallet app expects. Encoding just the raw address as text works fine for most purposes since it lets any wallet's built-in scanner grab the address for copying, but it won't trigger the automatic pre-filled send screen that a properly formatted coin URI would.

Payment requests with specific amounts

Beyond just sharing a wallet address, crypto payment QR codes can also encode a requested amount, so that when someone scans it their wallet app pre-fills both the recipient address and the exact payment amount, reducing the chance of sending too little or too much. This is done by including additional parameters within the coin's URI scheme, appended after the address itself.

This kind of amount-inclusive payment code is especially useful for point-of-sale crypto payments, such as a merchant accepting Bitcoin at checkout, where a fixed amount needs to be communicated precisely and quickly rather than the customer manually typing in a price that could easily be entered with the wrong number of decimal places.

For invoicing or peer-to-peer payment requests, such as splitting a bill or requesting reimbursement in crypto, a QR code with a specified amount removes any back-and-forth confirmation about exactly how much was requested, since the recipient's wallet shows the exact figure the moment they scan.

Safety considerations unique to crypto QR codes

Because cryptocurrency transactions are irreversible once confirmed on the blockchain, a wallet address QR code carries higher stakes than almost any other type of QR code content, so double-checking the scanned address against the intended recipient before confirming any transaction is essential, especially for large amounts. Many wallet apps show the full address on the confirmation screen specifically so users can do this final check.

Malicious actors have been known to replace legitimate payment QR codes with lookalike codes pointing to a different wallet address, particularly in physical settings like a printed sign at a market stall or a sticker on a payment terminal, so it's worth being cautious about scanning crypto payment codes from unfamiliar or easily tampered-with physical locations.

Generating your own wallet QR code for personal use, such as printing your own receive address to keep on a business card or displayed at a booth, is safe as long as the underlying address itself is correct and comes from your own wallet, since the QR code is just a convenient encoding of the address, not something that introduces new risk on its own.

Common use cases for crypto QR codes

Displaying a static QR code for a donation address on a website, at a conference booth, or on a printed flyer is one of the most common non-transactional uses, letting supporters scan and send a contribution without needing to carefully copy and paste a long address from a screen.

Freelancers and small businesses accepting crypto as payment sometimes include a QR code on an invoice or receipt as an alternative payment method alongside traditional options, giving clients who prefer to pay in crypto a fast and error-free way to do so.

Peer-to-peer crypto transfers between individuals, such as splitting a group expense or repaying a friend, commonly use a quick QR code scan from within the sender's wallet app camera feature, which is often faster and safer than reading an address aloud or sending it as a text message that could be mistyped when copied.

Printing and displaying crypto QR codes

For any physical printed crypto QR code, whether on a sign, sticker, or business card, high contrast and adequate size matter even more than usual, since wallet addresses tend to be long, making the resulting QR code denser and more detailed than a simple short URL code, requiring more scan resolution to read correctly.

Testing a printed crypto QR code with an actual wallet app scanner, not just a generic QR reader, before finalizing a print run for something like a market booth sign is worth the extra step, since some wallet apps are pickier about code density and contrast than a general-purpose scanner app.

If displaying a receive address digitally, such as on a screen at a point-of-sale terminal, ensure adequate screen brightness and avoid glare, since a phone camera scanning another screen faces different lighting challenges than scanning printed paper, and a dim or glare-affected screen QR code can be surprisingly difficult to scan reliably.

Choosing between static content and coin-specific formatting

For most casual or one-off sharing purposes, such as a personal donation address on a website footer, a plain text QR code containing just the address is sufficient, since anyone using their wallet app's scanner will still be able to grab the address correctly even without the coin-specific URI prefix.

For merchants or anyone needing a smoother, pre-filled payment experience at the point of sale, using the proper coin URI scheme with the address and, where relevant, a specific amount, provides a noticeably better experience for the paying customer, though it requires either a specialized crypto QR generator or manually constructing the URI string before encoding it.

Because wallet addresses are permanent identifiers themselves, tied to a wallet rather than a specific transaction, a static QR code is the natural fit for wallet address sharing since the address doesn't change day to day. If a business regularly rotates receiving addresses for privacy reasons, it's worth generating a fresh code each time an address changes rather than relying on an old printed code that points to a stale address.

Frequently asked questions

Can I use a standard free QR code generator for a crypto wallet address?

Yes, encoding the wallet address as plain text works with any standard QR code generator, and most wallet apps' built-in scanners will still correctly pick up the address from a plain text code. For an automatic pre-filled send screen with amount, the address typically needs to be formatted with the coin's specific URI scheme, like 'bitcoin:' followed by the address.

Is it safe to scan a crypto payment QR code from a stranger or a public sign?

Exercise caution, since malicious actors have been known to replace legitimate payment signs with lookalike QR codes pointing to a different address. Always double-check the address shown on your wallet's confirmation screen before sending any funds, especially for larger amounts.

Can a QR code include a specific payment amount along with the wallet address?

Yes, using the coin's URI scheme, additional parameters can specify a requested amount, so the recipient's wallet app pre-fills both the address and the exact figure when scanned, which is especially useful for point-of-sale payments and invoicing.

Should crypto wallet QR codes be static or dynamic?

Static, since a wallet address is a fixed identifier, not something that changes based on a marketing campaign. A dynamic code with an editable destination doesn't offer much benefit here, since the whole point is displaying the exact address correctly and permanently.

Create your free QR code

Related guides