How Solana Pay Works: Fees, Merchants, and Integration Guide

If you have ever wondered how Solana Pay works, you are in the right place. Solana Pay is an open-source, decentralized payment protocol built on the Solana blockchain that allows merchants to accept SOL, USDC, and other SPL tokens directly -- with near-zero fees and settlement in seconds, not days. It removes banks, card networks, and payment processors from the equation entirely.
But Solana Pay is only part of the picture. Not every merchant supports it, and not every situation calls for a direct on-chain payment. This guide covers exactly how Solana Pay works under the hood, what it costs compared to traditional payment rails, which merchants accept it, and how tools like SolCard bridge the gap when direct crypto payments are not an option.
For a broader look at all the ways you can spend SOL and other crypto in the real world, see our complete Solana payments guide.
Solana Pay is a standard protocol and set of reference implementations that enable developers and merchants to incorporate decentralized payments into their apps and services. Launched by Solana Labs, it uses a token transfer URL scheme to ensure interoperability across wallets and services.
In practical terms, it lets any business accept payments in SOL or any SPL token (including stablecoins like USDC) without intermediaries. Because Solana processes transactions in roughly 400 milliseconds with fees under a fraction of a cent, the payment experience is faster than tapping a credit card -- and dramatically cheaper for the merchant.
Solana Pay is open source under the Apache License, Version 2.0, and supported by the @solana/pay JavaScript library on npm.
Traditional card payments flow through a chain of intermediaries: the card network (Visa or Mastercard), the issuing bank, the acquiring bank, and often a payment processor like Stripe or PayPal. Each takes a cut, and the merchant waits days for settlement.
Solana Pay eliminates that entire chain. The customer pays the merchant directly, wallet to wallet, with the Solana blockchain serving as the settlement layer. There is no chargeback risk, no holding period, and no percentage-based fee.
Solana Pay supports two core request types, each designed for different use cases.
A transfer request is the simpler of the two. It describes a non-interactive request for a SOL or SPL token transfer. The merchant generates a URL containing the recipient wallet address, the token type, and the amount. This URL gets encoded into a QR code, embedded in a "Pay Now" button, or shared as a payment link.
When the customer scans or clicks, their wallet parses the URL and presents the transaction for approval. One tap, and the funds move on-chain.
Transaction requests are more powerful. They enable an interactive flow where the wallet makes an HTTP request to the merchant's backend, which then responds with a fully customized Solana transaction. This opens the door to dynamic pricing, token swaps at the point of sale, NFT-gated discounts, loyalty rewards, and more.
Here is exactly what happens during a Solana Pay transaction, from the merchant's checkout page to confirmed payment:
- Merchant generates a payment request. The merchant's system creates a Solana Pay URL containing the recipient address, token type, amount, and a unique reference key. This URL is encoded into a QR code or payment button.
- Customer scans the QR code or clicks the payment link. The customer's Solana wallet (such as Phantom or Solflare) detects the Solana Pay URL scheme and parses the transaction parameters.
- Wallet displays the transaction details. The customer sees the recipient, amount, and token type. For transaction requests, the wallet first fetches the full transaction from the merchant's API, which can include custom logic.
- Customer approves the transaction. With a single tap, the customer signs the transaction in their wallet.
- Transaction is broadcast to the Solana network. The signed transaction is submitted to Solana validators for processing. Confirmation happens in approximately 400 milliseconds.
- Merchant verifies payment on-chain. The merchant's server checks the blockchain to confirm the transaction details (amount, token, recipient, reference) match the original request. Payment is confirmed.
The entire process, from scan to confirmed settlement, typically completes in under two seconds.
Every Solana Pay URL includes a few critical parameters:
- Recipient -- the merchant's public key (wallet address)
- Amount -- the number of SOL or tokens to transfer
- SPL-token -- (optional) specifies which SPL token to use, such as USDC
- Reference -- a unique identifier that lets the merchant match the on-chain transaction back to a specific order
- Label and Message -- optional fields for displaying the merchant name and order details in the wallet
This is where Solana Pay stands apart from every traditional payment method. The fees are not just lower -- they are in a fundamentally different category.
Every Solana transaction requires a base fee of 0.000005 SOL (5,000 lamports). At current SOL prices, that translates to a fraction of a cent per transaction. There is no percentage-based fee, no monthly subscription, and no per-transaction flat fee beyond the base network cost.
For context: a merchant processing a $100 sale through Solana Pay pays roughly $0.00025 in fees. That same sale through Stripe costs $3.20, and through PayPal it costs $3.49 or more.
| Payment Method | Fee on a $100 sale | Fee Structure | Settlement Time |
|---|---|---|---|
| Solana Pay | ~$0.00025 | Network fee only | ~2 seconds |
| Stripe | $3.20 | 2.9% + $0.30 | 2 business days |
| PayPal | $3.49–$3.99 | 2.99–3.49% + $0.49 | 1–3 business days |
| Square | $2.90 | 2.6% + $0.10 | 1–2 business days |
| Visa/MC (merchant account) | $1.50–$3.50 | 1.5–3.5% varies | 1–3 business days |
The difference is not marginal. Solana Pay fees are roughly 10,000 times cheaper than traditional card processing on a per-transaction basis. For high-volume merchants, the savings are substantial.
Even compared to other blockchain payment options, Solana's fees are among the lowest:
| Network | Typical Transaction Cost | Confirmation Time |
|---|---|---|
| Solana | ~$0.00025 | ~400 ms |
| Ethereum L1 | $0.10–$30+ | 12–15 seconds |
| Bitcoin | $0.50–$5+ | 10–60 minutes |
| Polygon | ~$0.01 | ~2 seconds |
| Base (L2) | ~$0.01 | ~2 seconds |
Solana's low fees are a structural advantage. The network's Proof of History consensus mechanism and parallel transaction processing allow it to handle thousands of transactions per second without fee spikes. The network averaged over 1,100 TPS in 2025, with theoretical capacity up to 65,000 TPS.
During periods of extreme network congestion, users can add an optional priority fee to ensure faster processing. Even during peak demand, these priority fees typically remain under $0.01. For standard payment transactions, the base fee is almost always sufficient.
Merchant adoption is growing, though it is still early compared to card networks. Here is where Solana Pay is actually being used today.
The most significant merchant integration is with Shopify. Millions of Shopify-powered stores can enable Solana Pay through the official Shopify app. Several Solana ecosystem brands -- including Solana's own merch store -- already use it actively.
| Category | Examples |
|---|---|
| eCommerce (Shopify) | Any Shopify store that enables the Solana Pay plugin |
| Web hosting and VPS | HostSailor, XetHost, HostStage |
| Travel and booking | Travala (flights, hotels) |
| Gift cards and vouchers | CoinGate gift card store (indirect SOL spending) |
| Crypto-native services | Various DeFi platforms and NFT marketplaces |
| Digital services | VPN providers, domain registrars, SaaS tools |
As of 2026, directories like Cryptwerk list over 700 businesses that accept SOL as payment. That number is growing, but it is a tiny fraction of the roughly 150 million merchants worldwide that accept Visa.
This is exactly the gap that a crypto debit card fills. When a merchant does not accept Solana Pay directly, you can still spend your SOL by depositing it to a card that converts it to a USD balance at top-up time. SolCard lets you load SOL, USDC, and other supported tokens, convert them to USD, and spend anywhere Visa and Mastercard are accepted -- no need to check whether the merchant supports crypto. For a walkthrough of how this works in the US specifically, see our guide to spending crypto with SolCard.
The Shopify integration is the most important channel for Solana Pay merchant adoption today. Here is how it works for both store owners and customers.
Shopify merchants install the Solana Pay app from the Shopify App Store. After completing a Know Your Business (KYB) verification process (which can take up to 48 hours), the merchant connects a Solana wallet and enables crypto payments at checkout.
Customers see Solana Pay as a payment option during checkout. They can either connect their wallet directly or scan a QR code from a mobile device. Payments settle in USDC by default, giving merchants stablecoin revenue without exposure to SOL price volatility.
- Multi-token checkout -- Customers can pay with any Solana token. The app automatically swaps it to USDC for the merchant.
- Multi-chain support -- After initial setup, merchants can also enable payments on Bitcoin, Ethereum, Polygon, and Base.
- Web3 loyalty programs -- Merchants can issue token-based rewards and recognize returning wallet addresses.
- No chargebacks -- Blockchain transactions are final, eliminating chargeback fraud that costs merchants billions annually.
- Sub-$0.001 fees -- Transaction costs are negligible compared to the 2.4%--2.9% that card processors charge.
If you are a merchant looking to add Solana Pay to your Shopify store, the process is straightforward:
- Install the Solana Pay app from the Shopify App Store
- Complete KYB verification by submitting your business registration information
- Connect a Solana wallet (Phantom or Solflare recommended) with a small SOL balance for transaction fees
- Configure payment settings -- choose which tokens to accept and whether to auto-convert to USDC
- Enable the payment method at checkout -- customers will see the Solana Pay option alongside traditional payment methods
Merchants who want to settle in USDC (and most do) get the best of both worlds: the speed and cost savings of blockchain settlement with the price stability of a dollar-pegged stablecoin.
Solana Pay is excellent for merchants who support it. But the reality is that most merchants worldwide do not accept crypto payments of any kind. When you want to spend SOL at a grocery store, fill up your car, pay for a subscription, or shop at any of the millions of merchants that only accept card payments, you need a different solution.
This is the problem SolCard solves. SolCard is a Solana-native crypto debit card that works at over 150 million Visa and Mastercard merchants globally. You deposit SOL, USDC, or other supported tokens, and spend through a virtual or physical card. Platinum cardholders can also add their card to Apple Pay or Google Pay for contactless payments.
| Scenario | Best option |
|---|---|
| Merchant has Solana Pay enabled | Solana Pay (lowest fees, direct settlement) |
| Shopping on a Shopify store with crypto checkout | Solana Pay |
| Any Visa-accepting merchant (online or in-store) | SolCard |
| Merchant only accepts fiat | SolCard |
| Paying for travel, groceries, or subscriptions | SolCard |
| Wanting to preserve privacy (no verification) | SolCard |
The two solutions are complementary. Solana Pay is ideal when the merchant supports it, giving you near-zero fees and direct wallet-to-wallet settlement. SolCard fills in everywhere else, ensuring your SOL is spendable regardless of the merchant's payment infrastructure.
For a broader comparison of all crypto debit card options available today, check our best crypto debit cards roundup.
If you are building an application that accepts payments, integrating Solana Pay is straightforward. The @solana/pay JavaScript SDK handles the heavy lifting.
The @solana/pay library provides functions to:
- Generate Solana Pay URLs for both transfer and transaction requests
- Encode payment requests into QR codes
- Validate on-chain transactions against expected parameters
- Monitor transaction status in real time
- Install the SDK -- Add
@solana/payand@solana/web3.jsto your project - Create a payment request -- Generate a Solana Pay URL with recipient address, amount, token, and reference
- Display the QR code -- Render the URL as a scannable QR code in your checkout flow
- Monitor for payment -- Poll the Solana network for a transaction matching your reference key
- Confirm and fulfill -- Once the transaction is confirmed on-chain, mark the order as paid
The Solana ecosystem also includes the newer @solana/kit SDK (the successor to @solana/web3.js v1), which offers improved performance, smaller bundle sizes, and zero dependencies. Developers building new applications may want to use Kit alongside the Solana Pay library.
Transaction requests unlock capabilities that go far beyond simple payments:
- Dynamic pricing -- The merchant's API can calculate discounts or adjust prices in real time
- Token swaps at checkout -- Customers can pay with any token; the transaction handles the conversion
- NFT-gated discounts -- Check the customer's wallet for specific NFTs and apply discounts automatically
- Tokenized loyalty programs -- Issue reward tokens or NFTs as part of the payment transaction
- Merchant-sponsored fees -- Merchants can cover transaction fees and token account creation on behalf of customers, removing friction for first-time users
A payment protocol is only as good as the network it runs on. Solana's performance characteristics make it uniquely suited for point-of-sale and eCommerce payments.
Solana's block time is approximately 400 milliseconds, with practical finality in under 2 seconds. More than 90% of transactions confirm in under 500 milliseconds. For payment contexts, this means the customer and merchant see confirmation almost instantly -- faster than the time it takes for a card terminal to process a chip transaction.
The network averaged over 1,100 real-world TPS in 2025, with the capacity to handle significantly more. The upcoming Firedancer validator client, scheduled for full deployment in 2026, achieved over 1 million TPS in testing environments. This headroom means that even as adoption grows, the network is unlikely to become congested in ways that affect payment processing.
Solana's network uptime reached approximately 99.98% in the 2025-2026 period. The introduction of the Firedancer client adds multi-client diversity, meaning the network is no longer dependent on a single validator implementation.
Unlike Ethereum, where gas fees can spike unpredictably during network congestion, Solana's fee structure remains stable. Base fees are fixed at 5,000 lamports per signature, and even optional priority fees rarely exceed $0.01. Merchants can reliably predict their payment processing costs.
Solana Pay works by encoding payment details (recipient, amount, token type) into a standardized URL. This URL is displayed as a QR code or payment button. The customer scans it with a Solana-compatible wallet, approves the transaction, and the payment settles on the Solana blockchain in approximately 400 milliseconds. The merchant's system verifies the on-chain transaction and confirms the order. There is no intermediary -- funds move directly from the customer's wallet to the merchant's wallet.
Solana Pay charges only the base Solana network fee of 0.000005 SOL per transaction (roughly $0.00025 at current prices). There is no percentage-based fee, no monthly subscription, and no per-transaction flat fee beyond the minimal network cost. This makes it roughly 10,000 times cheaper than traditional credit card processing for most transactions.
Solana Pay is available to any Shopify-powered store that installs the official Solana Pay app. Beyond Shopify, over 700 businesses accept SOL directly, spanning categories like web hosting, travel (Travala), digital services, and crypto-native platforms. For merchants that do not accept Solana Pay, SolCard lets you spend SOL anywhere Visa and Mastercard are accepted.
For Shopify stores, install the Solana Pay app from the Shopify App Store and complete the KYB verification process. For custom integrations, use the @solana/pay JavaScript SDK to generate payment URLs, display QR codes, and verify transactions. The SDK supports both simple transfer requests and advanced transaction requests with custom logic.
Solana Pay transactions are secured by the Solana blockchain's consensus mechanism, which is maintained by over a thousand validators worldwide. Transactions are irreversible once confirmed, which eliminates chargeback fraud. The protocol is open source and has been audited. However, as with any crypto transaction, users should verify payment details before approving, and merchants should validate transactions server-side before fulfilling orders.
No. Solana Pay only works at merchants who have explicitly integrated it. For everywhere else -- which is the vast majority of merchants globally -- you need a solution that bridges crypto to traditional payment rails. SolCard serves this purpose by letting you load SOL or USDC and spend through Visa's network at over 150 million merchants. To get started, check out our guide to setting up your SolCard.

