Solana Pay QR Code Generator

Create a Solana Pay transfer request QR code for SOL, USDC or USDT on Solana. Phantom, Solflare and Backpack scan it and pre-fill the amount, so payment takes one tap.

Paste the address from your wallet's "Receive" screen. Double-check the first and last characters.
BTC

Generated in your browser. Addresses are never uploaded or stored.

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

  1. Copy your Solana address from Phantom, Solflare or Backpack (32 to 44 base58 characters, no 0x).
  2. Pick SOL, USDT (Solana) or USDC (Solana) in the selector. For tokens, the tool adds the correct mint address automatically.
  3. Add the amount, label and message. Phantom shows the label as the merchant name on the confirmation screen.
  4. 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

Solana Pay QR FAQ

What is Solana Pay?

Solana Pay is an open payment standard on Solana. A transfer request is a URL such as solana:<recipient>?amount=1.5&spl-token=<mint>&label=Shop. Wallets scan it and build the transaction locally.

Which wallets support Solana Pay?

Phantom, Solflare, Backpack, Glow and Ultimate, among others. Wallets without Solana Pay support can still read the plain-address option.

Which token mints are used?

USDC uses Circle's official mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v and USDT uses Tether's mint Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB. Both are shown in the encoded content so you can verify them on Solscan.

Does the payer need SOL to pay in USDC?

Yes, a tiny amount for the network fee, usually a fraction of a cent. The recipient does not need anything.

Is a Solana Pay QR code the same as a plain address code?

No. A plain-address code contains only the Base58 address; a Solana Pay code is a solana: URL with amount, token and label. Every Solana wallet reads the plain address, while Solana Pay support is needed for the pre-filled fields.

Can I add a memo?

The message field is shown by the wallet. For an on-chain memo, Solana Pay also supports a memo parameter; this tool keeps to the fields every wallet displays.