Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
FREEDOM251

Freedom251 › Blog › blockhash

How to Recover an Offline-Signed Solana Transaction That Is Delayed or Fails

By Freedom251 Team · · 10 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not immediately create a new Solana transaction when an offline-signed submission appears stuck. First save the original signature, identify the cluster, determine whether the message used a recent blockhash or a durable nonce, and query the original status. A recent-blockhash transaction can usually be safely retried by rebroadcasting the exact same signed bytes while its blockhash remains valid. After expiry, check whether it landed before rebuilding and collecting signatures again. A durable nonce transaction follows different, single-use rules: once its nonce advances, the old signed transaction cannot be submitted again.

Why is my Solana transaction pending?

A successful sendTransaction response means an RPC server received your serialized transaction. It does not prove that validators included it, that every instruction executed successfully, or that the transaction will remain valid long enough to be processed. Wallet spinners, local timeouts, and a missing explorer entry are likewise not proof of failure.

As an Amazon Associate I earn from qualifying purchases.

Offline signing adds another source of uncertainty. The transaction may have been signed on a device that was disconnected from the network, then submitted after the blockhash lifetime had nearly elapsed. A multi-signer workflow can also pause while another signer approves the same message. Recovery depends on the lifetime mechanism encoded in that message:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Recent blockhash: valid only for a bounded block-based window. You can rebroadcast the identical signed transaction during that window.
  • Durable nonce: uses a nonce account value instead of an ordinary recent blockhash. It supports long delays, but the nonce is consumed when a valid nonce transaction is processed.

Always work on the same Solana cluster used for signing and submission. A signature on mainnet-beta will not appear when you query devnet, testnet, or a private cluster.

#1 Best Overall
DCENT Hardware Wallet | Biometric Cold Storage, Bluetooth, Multi-Crypto
  • EAL5+ CERTIFIED SECURE ELEMENT + FINGERPRINT PROTECTION — Your private keys stay encrypted offline on a certified EAL5+ chip, the same security tier used in EMV bank cards. Built by DCENT, securing crypto since 2018. Fingerprint authentication adds a second layer no PIN-only wallet can match.
  • 10,000+ ASSETS NATIVE ON 100+ BLOCKCHAINS — Hold Bitcoin, Ethereum, XRP, Solana, Cardano, popular stablecoins (USDT, USDC), and NFTs in one wallet. No third-party apps, no fragmented setup — every supported asset works straight out of the box.
  • TAP-TO-SIGN MOBILE EXPERIENCE — Pair your wallet with the DCENT mobile app over Bluetooth. Manage tokens, review transactions, and access in-app swap features directly from your phone — no cables, no desktop required.
  • WEB3 & dAPP ACCESS VIA METAMASK — Connect to MetaMask and other browser extension wallets to manage NFTs, claim airdrops, and access dApps. A large screen and intuitive 4-button interface keep every transaction clearly visible before you sign.
  • SEAMLESS FIRMWARE UPDATES & 30-DAY MONEY-BACK GUARANTEE — Apply security updates without resetting your wallet or migrating funds. Backed by Amazon's 30-day money-back guarantee — your purchase is risk-free.

First, preserve the transaction identity

Before retrying anything, write down the exact transaction signature returned by submission, the cluster, and the serialized signed payload if you have it. Also determine whether the message used a normal recent blockhash or a durable nonce. These details determine whether a retry is a harmless rebroadcast or an entirely new transaction.

  • Signature: the base58 transaction identifier returned by sendTransaction.
  • Cluster: for example, mainnet-beta or devnet; query the same endpoint family used to submit.
  • Lifetime data: record lastValidBlockHeight from the getLatestBlockhash response when the message was built.
  • Signed bytes: preserve the complete, fully signed serialization. Do not decode it, alter a blockhash, reorder instructions, or reserialize it with different account metadata.
  • Nonce information: if it is a nonce transaction, record the nonce account address and the nonce value embedded in the message.

Do not infer execution from a browser or wallet status label. Check the original signature through a trusted explorer or directly through an RPC endpoint configured for the correct cluster.

How do I check a Solana transaction?

Use the original signature with a status query. The RPC method getSignatureStatuses reports whether the signature has been observed and whether it reached a commitment level. A result of null means that the queried node has no status for that signature; it does not, by itself, prove that the transaction never reached another node.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl https://api.mainnet-beta.solana.com -s 
  -H 'Content-Type: application/json' 
  -d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"getSignatureStatuses",
    "params":[["YOUR_SIGNATURE"],{"searchTransactionHistory":true}]
  }'

Inspect these fields when a status is returned:

  • confirmationStatus indicates the reported commitment, such as processed, confirmed, or finalized.
  • err is null for a successful execution. A non-null value means the transaction failed during processing.
  • slot identifies the slot in which the transaction was processed when a record exists.

For program logs, account changes, and the precise instruction error, use getTransaction with an encoding supported by your client. If the transaction is not found, continue with the lifetime check before deciding to rebuild.

Recent blockhash recovery: the safe order of operations

1. Understand the validity window

Solana’s current documentation describes a recent-blockhash processing window of 150 slots. Under ordinary slot timing, that is approximately 60–90 seconds, but it is not a guaranteed wall-clock timer. Network conditions and slot production affect elapsed time. The authoritative test is block height, not a stopwatch.

When the blockhash was fetched, the RPC response should have included both blockhash and lastValidBlockHeight. Query the current height at confirmed commitment:

Rank #2
Trezor Safe 7 Crypto Hardware Wallet with Bluetooth for Android/iOS/Desktop | Charcoal Black, Aluminum Unibody, 2,5" TouchScreen, Wireless Charging, Quantum-Ready, IP54, Long-Lasting LiFePO? Battery
  • Dual-chip architecture for maximum protection: The next-gen, fully auditable TROPIC01 chip works alongside a certified EAL6+ Secure Element—completely NDA-free—to deliver radically transparent, industry-leading defense against physical attacks.
  • Quantum-ready security: Get protection against future threats with the first-ever hardware wallet designed with quantum-ready architecture.
  • See every detail with confidence: Our largest high-resolution color touchscreen makes it easy to navigate your assets, review transactions and manage your coins with clarity.
  • Wireless freedom with encrypted Bluetooth control: Manage, buy, swap and stake securely using Trezor Suite on desktop or mobile. Qi2-compatible wireless charging keeps your Trezor powered up. No cables required—security meets convenience.
  • Works seamlessly with Android, iOS and desktop: Connect wirelessly or via USB-C to your phone or computer. Manage your crypto anywhere with our companion Trezor Suite app.
curl https://api.mainnet-beta.solana.com -s 
  -H 'Content-Type: application/json' 
  -d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"getBlockHeight",
    "params":[{"commitment":"confirmed"}]
  }'

Compare the returned height with the recorded lastValidBlockHeight. If the current confirmed height has not passed that value, the transaction may still be accepted. If it has passed it, the recent-blockhash transaction has expired.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Rebroadcast the exact same signed bytes while valid

If the original signature is not confirmed and the blockhash remains within its validity window, send the original serialized transaction again. This is a rebroadcast, not a replacement: the message, signatures, instructions, accounts, fee payer, and blockhash must all remain identical.

curl https://api.mainnet-beta.solana.com -s 
  -H 'Content-Type: application/json' 
  -d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"sendTransaction",
    "params":["BASE64_SIGNED_TRANSACTION",{"encoding":"base64","skipPreflight":false,"preflightCommitment":"confirmed"}]
  }'

Continue checking the original signature. A successful rebroadcast can return the same signature; it does not create a second action. Match the preflight commitment to the commitment used when obtaining the blockhash. Confirmed commitment is the usual operational choice for this check.

3. Do not sign a replacement prematurely

Creating a new transaction with a fresh blockhash before the old one expires can result in both transactions being accepted. If both carry the same transfer, swap, vote, or other state-changing instruction, the action could occur twice. Changing only a fee, instruction, or recent blockhash makes a different message and therefore a different transaction; it does not cancel the first one.

4. Confirm expiry by height, then check the original signature again

Once confirmed block height is greater than the recorded lastValidBlockHeight, query the original signature with transaction history enabled. A transaction can be included near the end of its lifetime even when a wallet displayed a timeout. Rebuild only after the status check shows that the original did not execute.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I fix an expired blockhash?

An expired blockhash cannot be repaired inside an already signed payload. Signatures cover the serialized message, so replacing the blockhash while retaining the old signatures causes signature verification to fail.

Rank #3
Sale
Cold Wallet Crypto with 2-of-3 Recovery Double Safety Design, Offline NFC Hardware Wallet for Bitcoin& 2,800+ Tokens, Trade Anywhere &Anytime, 3 pack by Safnect
  • 【Military‑grade EAL6+ security&Easy to Use】Safnect crypto wallet eatures the top-tier EAL6+ security technology and a sealed secure-element chip — No Bluetooth. No Wi‑Fi. No battery. No seed phrase to manage. Your cryptocurrencies stay strongly protected from online attackers, it is immune to remote hacks and effortless for first-time users.
  • 【3-Pack Backup = Double Secure】This 100% offline hardware wallet not just a 3‑pack. It's a breakthrough in key management.You can store these three cold crypto wallets in separate locations for safer, decentralized asset protection.
  • 【Instant Tap Connection&Friendly for Begginer】Simply tap the crypto wallet card against your mobile device to pair with the Safnect App in seconds. Effortlessly buy, sell and transfer crypto assets safely through the app. Experience the fast convenience of a hot wallet, paired with the robust security of genuine cold storage.
  • 【Multi-Chain & Multi-Account Management】 The Safnect cold crypto wallet seamlessly manages Bitcoin, Ethereum, Solana, and over 2,800 tokens across 54+ mainstream blockchains, giving you complete multi-chain and multi-account control.You can buy, sell, swap, stake, and spend cryptocurrency directly any time any way.
  • 【Basically Indestructible&Easy to Carry】Only 2 mm thin with a credit-card sized design, this crypto wallet features IP66 waterproofing and bend-resistant construction. If you're a crypto holder who travels for work or just moves around a lot, you already know the struggle: Safnect crypto wallet that actually fits your life.
  1. Verify expiry: compare confirmed block height with the saved lastValidBlockHeight.
  2. Check the old signature: query status and transaction history on the original cluster to ensure it did not land.
  3. Reconstruct the message: fetch a fresh blockhash and create a new transaction containing the intended instructions and current account data.
  4. Recheck dynamic inputs: recalculate fees, balances, recent token accounts, slippage limits, and any application-specific deadlines.
  5. Collect every required signature again: all signers must sign the new message, including an offline signer or hardware device.
  6. Submit and monitor the new signature: save its signature and its new lastValidBlockHeight separately from the expired attempt.

If a multi-signer process routinely exceeds the normal window, coordinate signature collection around a fresh blockhash or design a durable-nonce workflow where supported. A durable nonce is not a way to revive an already expired recent-blockhash transaction.

What happens if my Solana durable nonce was used?

A durable nonce transaction stores a nonce account’s current value in the message as recent_blockhash. Its first instruction must advance that nonce account. Because the nonce is stored on-chain rather than being a short-lived recent hash, the signed transaction can be prepared offline and submitted much later than an ordinary recent-blockhash transaction.

Check the nonce before delayed submission

Read the nonce account immediately before attempting a delayed transaction. The account’s stored nonce must exactly match the nonce value embedded in the signed message. Also confirm that the account still exists and that the required nonce authority and fee-payer accounts are available.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • If the stored nonce matches, the old signed transaction may still be usable, subject to normal signature and instruction validation.
  • If the stored nonce has advanced, another valid nonce transaction has consumed it. The old transaction cannot be submitted again.
  • If the nonce account was closed, recreated differently, or no longer has the required authority, the old message will not validate.

Nonce consumed, then instruction failed

Nonce processing advances the nonce before ordinary instruction execution. If the transaction passes nonce validation but a later instruction fails, the instruction-side state changes roll back atomically. The nonce remains advanced, however, and the fee payer is charged. Build a new transaction with the current nonce, investigate the program error, and obtain new signatures.

Nonce validation failed

If validation fails because the nonce account is missing, the nonce was already used, or required authority signing is absent, the transaction is dropped without fees or state changes under the current documented behavior. Refetch the nonce account and construct a new message rather than trying to resubmit the stale bytes.

Solana’s current durable-nonce documentation warns: “Durable nonces may be deprecated in a future release.” Check current protocol documentation and client support before making durable nonces part of a new system.

Rank #4
Ledger Nano S Plus - Classic Crypto Wallet | Emerald Green, Compact, stay home 1.1" display, Desktop & Android compatible
  • All your digital assets in one place. You can manage thousands of crypto including Bitcoin, Ethereum, Solana, Tether and more.
  • Connectivity: USB-C cable connection only. No Bluetooth.Compatible with the Ledger Wallet crypto app, both desktop (Windows, macOS, Linux) and mobile (Android only). Not compatible with iOS.
  • Protect your digital assets with the industry's best security: keep your private keys offline in your private signer, battle-tested by the Donjon's white hat hackers, CC EAL 6+ certified Secure Element, constantly updated Ledger OS.
  • Effortlessly build your crypto portfolio via the all in one Ledger Wallet app: buy, sell, send, receive, swap, stake and more across popular blockchains. 15,000+ coins & tokens in a single dashboard. Keep a close eye on the market. Compare service providers. Track performance. Get timely alerts. Build your portfolio with confidence.
  • Choose the colors that match your style: express your personality and your crypto management mood, color code your signers, one for each use (trading, staking, HOLDing...).
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Recent blockhash versus durable nonce

Property Recent blockhash Durable nonce
Lifetime Bounded by the recent processing window: 150 slots, approximately 60–90 seconds under typical slot timing. Can outlast the normal blockhash window while the nonce account retains the expected value.
Expiry evidence Compare confirmed getBlockHeight with saved lastValidBlockHeight. Read the nonce account and compare its stored nonce with the message.
Safe retry Rebroadcast identical signed bytes while valid. Resubmit only while the nonce value remains unused and all validation conditions still hold.
After consumption Expired bytes are unusable; rebuild with a fresh blockhash. An advanced nonce makes the old signed transaction unusable; refetch the nonce and rebuild.
Signatures after rebuild Every required signer signs the new message. Every required signer signs a message containing the current nonce.
Failure effects Instruction state changes roll back on execution error, but fees may still be charged. After nonce validation, the nonce advances even if an instruction fails; state changes roll back and fees may still be charged. Validation failure drops the transaction without fees or state changes.

Diagnosing common apparent failures

“Blockhash not found” or “stale blockhash”

This can mean the recent blockhash expired, but an RPC node that is lagging or a mismatch between fetch and preflight commitments can produce similar symptoms. Recheck confirmed block height, use the same cluster, and align the commitment used to fetch the blockhash with the preflight commitment. If the height proves expiry, follow the rebuild procedure rather than retrying stale bytes indefinitely.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

RPC timeout or missing submission result

A timeout means the client did not receive a timely response. It does not establish whether the validator accepted the transaction. Query the original signature, and if the blockhash is still valid, rebroadcast the identical serialized transaction. Do not create a replacement solely because the HTTP request timed out.

Explorer shows an execution error

Retrieve transaction details and program logs to identify the failing instruction. Solana executes instructions atomically: state changes from the transaction revert when an instruction fails, while transaction fees can still be charged. Correct the program input, account state, authority, compute budget, or other identified cause before signing a new message.

Offline signatures took too long

With a normal blockhash, the validity window starts when the blockhash is fetched, not when the final signer finishes. If the height has passed lastValidBlockHeight, discard the expired message after checking its signature, fetch a new blockhash, and recollect signatures. For future workflows that require long offline intervals, evaluate a durable nonce while confirming that your tools still support it.

Offline multi-signer and hardware-signing precautions

Every signature must correspond to exactly the same serialized message. Share a canonical message or transaction bytes with each signer, and have the final submitter verify that all required signature positions are present before broadcasting. A hardware wallet can serve as an offline signer when it signs those exact message bytes; device compatibility and wallet-specific screens vary.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Do not ask one signer to sign a message with a different blockhash from the message signed by another.
  • Do not insert an instruction, alter an account list, or change fee-payer details after any signature is collected.
  • Keep the original signature and serialized bytes in your incident record so a later status check cannot be confused with a replacement.
  • For high-value actions, simulate or preflight the freshly built transaction before the final signing ceremony where the workflow permits it.

A concise recovery checklist

  1. Save the signature, cluster, serialized bytes, and lifetime type.
  2. Query the original signature and transaction details with history enabled.
  3. For a recent blockhash, compare confirmed block height with lastValidBlockHeight.
  4. If still valid and unconfirmed, rebroadcast the exact same bytes and monitor the original signature.
  5. If expired, check the old signature one more time before constructing anything new.
  6. For a durable nonce, read the nonce account; an advanced nonce means the old message is spent.
  7. After a confirmed non-execution, rebuild with a fresh blockhash or current nonce and collect all signatures again.
  8. Record the new signature and monitor its status independently.

What not to do

  • Do not treat a wallet’s “failed” label, an explorer indexing delay, or an RPC timeout as proof that no state change occurred.
  • Do not submit a newly signed duplicate while the original recent-blockhash transaction may still land.
  • Do not edit a blockhash inside a signed payload and keep the old signatures.
  • Do not assume an RPC provider or hardware wallet can reverse a confirmed transaction or restore a consumed nonce.
  • Do not reuse a durable-nonce transaction after the nonce account has advanced.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

blockhashdurable nonceoffline signingRPCSolanatransaction recovery

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.