Guide
How long do Solana transactions take?
Solana is built for speed: a simple SOL transfer on mainnet usually lands in under one second. That is dramatically faster than most blockchains. Yet you may still see a spinner in your wallet, or a game asking you to wait a few seconds before crediting your roll. This guide explains what is actually happening, the difference between processed and finalized, and what to do when a payment feels stuck.
The short answer
For a standard wallet-to-wallet SOL transfer on Mainnet Beta:
- Block inclusion — often 400–800 milliseconds after you tap Approve.
- Wallet "confirmed" — your app may show success as soon as the transaction is processed by the network.
- Explorer "finalized" — Solscan and similar sites mark a transaction finalized once enough subsequent blocks have been built on top of it — typically a few seconds total.
- dApp detection — websites polling an RPC node may need 2–10 extra seconds if the node is slow or rate-limited, even though the chain already recorded your payment.
If more than a minute passes with no signature on a block explorer, something went wrong — cancelled in the wallet, insufficient SOL, or a network outage. A failed transaction does not move funds (except you may still pay the tiny base fee).
Why Solana feels instant
Solana targets 400 millisecond slot times — the interval at which validators propose new blocks. A transaction submitted to the current leader can be included in that slot or the next one. There is no multi-minute mempool wait like on congested Ethereum transfers during peak demand.
That speed is why micropayments work on Solana. Paying 0.001 SOL for a game roll or tip makes sense when the network fee is only ~0.000005 SOL and confirmation is near-instant. See our transaction fees guide for the exact lamport math.
Confirmation levels: processed, confirmed, finalized
When developers or RPC APIs talk about confirmation, they mean different safety thresholds. Wallets and explorers do not always use the same words, which confuses newcomers.
Processed
A transaction is processed when a validator has included it in a block and that block has been seen by the cluster. At this point the transfer happened on-chain. Phantom may show a green checkmark here. For small retail payments — buying a coffee-sized game roll — processed is usually enough.
Confirmed
Confirmed means a supermajority of stake has voted on the block containing your transaction. It is slightly safer than processed alone because the block is less likely to be orphaned. Many wallets treat processed and confirmed similarly for UX speed.
Finalized
Finalized is the strongest guarantee Solana offers under normal conditions. The block is rooted deep enough in the chain that reversing it would require an extraordinary consensus failure. Exchanges often wait for finalized (or many confirmations) before crediting a deposit. Solscan labels successful mainnet transactions as Finalized once this threshold is met — usually within a handful of seconds after you approved.
Learn to read these labels on Solscan transaction pages.
Timeline: what you see step by step
- Tap Approve in Phantom, Solflare, or Backpack. The wallet signs locally and broadcasts the transaction to an RPC endpoint.
- 0–1 second — validators include the transaction. Your wallet balance updates. You may get a transaction signature (87-character base58 string).
- 1–5 seconds — block explorers show Success / Finalized. Timestamp matches when you paid.
- 0–10 seconds — a website you paid may poll the RPC, match your wallet + amount, and unlock the feature (dice roll, download, etc.).
Steps 3 and 4 can overlap. Do not panic if the explorer is faster than the website, or vice versa — they use different data paths.
Why websites still ask you to wait
A dApp cannot read your wallet balance silently without permission. After you pay, it typically:
- Watches for a new transaction from your wallet to its treasury address.
- Checks the amount matches what you selected (e.g. 0.001 SOL).
- Confirms the transaction succeeded (not failed or dropped).
That detection loop queries a public RPC node. RPC nodes can lag, rate-limit, or return stale data — especially free shared endpoints during traffic spikes. Garden Dice retries for several seconds before showing an error. Your payment may already be on-chain even while the page still says "waiting."
If the site times out, use our verify Solana payment tool or paste your signature into transaction lookup to confirm the transfer landed.
RPC lag vs chain lag
These are different problems:
- Chain lag — rare on Solana mainnet. Would mean validators are behind or halted. Network status pages and multiple explorers would show widespread delays.
- RPC lag — common and local to whichever server your wallet or browser talks to. The transaction is finalized on-chain, but one RPC has not indexed it yet. Waiting 10–30 seconds and refreshing usually fixes detection. Switching RPC in wallet settings (Phantom → Settings → Network → Change RPC) can help.
Settlement services behind games face the same issue. They verify payments server-side with their own RPC pool and fallbacks — if one endpoint returns 429 Too Many Requests, the next one is tried. A brief delay does not mean your SOL was lost.
When is it actually stuck?
Cancelled or rejected in the wallet
You closed the popup or tapped Reject. No transaction was broadcast. Nothing to confirm — try again.
Insufficient SOL
You need the payment amount plus the network fee. A 0.001 SOL roll needs slightly more than 0.001 SOL available. See insufficient SOL fixes.
Failed on-chain
The transaction was included but execution failed (bad instruction, program error). Explorers show Failed. Funds did not reach the recipient. You may still pay the base fee. Diagnose with our transaction failed guide.
Dropped before inclusion
Occasionally a transaction never lands — network congestion, expired blockhash, or fee too low during extreme spikes. Your wallet balance stays unchanged after a minute. Retry with a fresh transaction; modern wallets rebroadcast automatically in most cases.
Paid but site did not detect
Check Solscan first. If status is Success and the receiver got the SOL, the payment worked — the site missed it. Refresh, reconnect your wallet, or contact support with your signature. Do not send a second payment until you verify the first.
Mainnet vs Devnet timing
Mainnet Beta is the live network where real SOL has value. Confirmation times above apply here.
Devnet and Testnet use the same mechanics but different validators. They can be slower or less reliable because fewer resources back them. Devnet SOL is worthless play money — if a tutorial site expects mainnet and you are on devnet, your "fast" test transfer will never count. Switch networks with our wrong network guide.
How this compares to other chains
Context helps set expectations if you are coming from Ethereum or Bitcoin:
- Bitcoin — first confirmation in ~10 minutes on average; six confirmations often recommended for large amounts.
- Ethereum L1 — variable; simple transfers may confirm in 15–60 seconds when gas is normal, longer when congested.
- Solana — sub-second inclusion; finalized within seconds. Optimized for high-throughput apps and small payments.
Solana's speed does not remove the need to verify recipients and amounts. Fast finality plus human error is still irreversible.
Practice: feel the timing yourself
The best way to internalize Solana confirmation speed is a real mainnet micropayment:
- Fund a wallet with a little mainnet SOL — see your first Solana payment.
- Note the clock, approve a 0.001 SOL Garden Dice roll, and copy the signature when your wallet shows it.
- Paste the signature into Solscan — compare wallet time, explorer timestamp, and when the game credits your roll.