What is a Solana Pay QR code?
A Solana Pay QR code is a transfer request URL from the Solana Pay specification, solana:<recipient>?amount=<decimal>&spl-token=<mint>&label=<text>, rendered as a scannable image. The recipient is your 32-byte ed25519 public key in Base58, the amount is written in human units (not lamports or raw token units), and the optional spl-token parameter names the token mint; leaving it out means native SOL.
How to make a Solana Pay QR code
- Copy your Solana address from Phantom, Solflare or Backpack (32 to 44 base58 characters, no 0x).
- Pick SOL, USDT (Solana) or USDC (Solana) in the selector. For tokens, the tool adds the correct mint address automatically.
- Add the amount, label and message. Phantom shows the label as the merchant name on the confirmation screen.
- Download or copy. The link also works as a tap-to-pay link on mobile.
Why Solana for payments
Transactions confirm in under a second and cost well under a cent, which makes Solana practical for coffee-sized payments where Ethereum fees would not. Stablecoins on Solana, especially USDC, are widely supported by exchanges and wallets, so customers can pay from an exchange withdrawal or a self-custody wallet.
Worked example
A request for 12.50 USDC encodes as solana:<yourAddress>?amount=12.5&spl-token=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&label=Cafe. The wallet multiplies 12.5 by 106 (USDC has 6 decimals) to build a transfer of 12,500,000 raw units. For SOL the wallet multiplies by 109: an amount=0.25 request moves 250,000,000 lamports.
Reusable vs. per-order codes
A code without an amount can sit at your counter permanently. For online orders, generate one code per invoice with the amount and order number in the message field, then match incoming transfers on Solscan by amount and time.
Safety checklist
- Verify the address. Compare the first 6 and last 6 characters on the card with your wallet's receive screen before you print or share.
- Test with a small amount from another wallet before relying on the code.
- Never put a seed phrase or private key into any website, including this one. A QR code for receiving only needs the public address.
- Replace the code if you rotate addresses. Old codes keep working, so retire printed copies you no longer want to receive to.