FixesUpdated 23 Oct 20261 min read

"Signature has expired: block height exceeded" fix

The fix

The transaction did not land before its blockhash expired, usually because the network was busy or the priority fee was too low. It was never processed, so no funds moved.

Tools covered

  1. HeliusSolana infrastructure provider offering RPC nodes, APIs, LaserStream gRPC, webhooks and Sender.UpVisit
  2. QuickNodeBlockchain RPC and API provider with tiered plans from $49/month and Solana gRPC on higher tiers.UpVisit

What the error means

TransactionExpiredBlockheightExceededError: Signature <signature> has expired: block height exceeded.

The transaction did not land before its blockhash expired, usually because the network was busy or the priority fee was too low. It was never processed, so no funds moved.

Where it comes fromSolana JavaScript client (@solana/web3.js)
CodeTransactionExpiredBlockheightExceededError

How to fix it

  1. Send the action again; the app builds a new transaction with a fresh blockhash.
  2. Raise the priority fee a little so validators include it sooner.
  3. Use a reliable RPC; a lagging RPC hands out blockhashes that expire early.

If that is not it

  • If the explorer shows the signature as confirmed, the client timed out but the transaction landed; do not resend.

More fixes: how to decode any Solana error code and why Solana transactions fail.

Source

Error text and code from @solana/web3.js expiry error source, read on 24 October 2026.

Questions people ask

Did I lose SOL?

No. An expired transaction is never processed and pays no fee.

How is this different from "Blockhash not found"?

Blockhash not found is rejected on send; block height exceeded means it was sent but expired before landing. See [Blockhash not found](/en/resources/errors/blockhash-not-found-solana-transaction-fix).

"Signature has expired: block height exceeded" fix | Jumpbit