Transaction & RPC errors

BlockhashNotFound

Appears as Transaction simulation failed: Blockhash not found

Transaction

BlockhashNotFound

“Transaction simulation failed: Blockhash not found”

The recent blockhash in the transaction is not in the validator's recent set, so the transaction is either expired or from the wrong cluster.

Common causes

  • The transaction was built more than ~60–90 seconds (150 blocks) before it was sent, often because signing took too long.
  • You fetched the blockhash from one cluster (devnet) and sent to another (mainnet), or RPC nodes are out of sync.
  • Using processed commitment to fetch a blockhash that the sending node has not seen yet.

How to fix it

  • Fetch getLatestBlockhash() immediately before signing and send right away.
  • Use the same RPC endpoint (and cluster) to fetch the blockhash and send the transaction.
  • For long-lived signing flows (hardware wallets, multisig), use a durable nonce instead of a blockhash.

Decode another error

Try: