Urgent.News

What's breaking now, across thousands of outlets.

Tech

Solana Transaction Expired: Blockhash Mechanics Explained

You click confirm. The wallet shows pending. Sixty seconds later: "transaction expired," "blockhash not found," or "block height exceeded." No swap, possibly no fee, definitely no clear explanation from the UI. This is a protocol-level behavior worth understanding properly before you hit retry. How Solana Encodes a Deadline Into Every Transaction When an application constructs a transaction, it…

When you click "confirm" on a transaction, your wallet displays "pending" for up to a minute. However, after that time, the transaction can "expire" and show an error message stating "blockhash not found" or "block height exceeded." This is a built-in design that prevents a signed transaction from being replayed at a different price.

Transactions have a 150-block deadline, which is roughly one to one-and-a-half minutes under normal conditions. If the deadline passes, all validators reject the transaction because it was received too late. This prevents the potential issue of replaying an old transaction at a new price.

Several factors can cause a transaction to miss its deadline, including network congestion, low priority fee, and RPC propagation failures. If a transaction expires, no state changes on the blockchain occur. This means no tokens are moved and no base fee is charged. This is different from a failed transaction, which was included in a block but stopped during execution and pays a base fee.

It's crucial to confirm the transaction status before retrying, as some wallets may show "pending" or "expired" even when the transaction actually settled. Always check your token balances and verify the status on a block explorer like Solscan or Solana Explorer. Only retry after confirming that nothing actually landed. To improve swap landing rates, approve wallet popups quickly, enable or increase priority fees, and re-check the quote during retries. Some apps automatically adjust fees during high-traffic periods.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

I'm Shipping 5 npm Packages to 10,000 Downloads

I'm Shipping 5 npm Packages to 10,000 Downloads This is the first post in a series. The goal is simple: get my five npm packages to 10,000 combined downloads before the end of the year.

  • Shipping five npm packages with goal of 10,000 downloads by year-end
  • Packages: plumber-linter, environmental-peek, hexlens, react-dismiss, @parasraju/plumber-mcp
  • Releases twice daily, each containing feature, README update, improved keywords

I Broke My Own Firestore Rules in Production Once. Now the Emulator Catches It First.

The deploy that taught me the lesson I changed one line in my Firestore security rules. It looked safe — I was tightening a read rule on a collection so only the owning tenant could read its…

  • Broke Firestore rules in production, causing silent failure for legitimate user.
  • Rules fail silently, making issues hard to detect until user reports.
  • Use Firebase Emulator Suite in CI to test rules and prevent shipping failures.

Found a cool repo on GitHub? Swap "hub" for "manual" and get it running

You find a great project on GitHub. A self-hosted photo library, a local AI model runner, a tool everyone recommends. Then the README says "just run docker compose up ", and you're left wondering…

  • Swap "hub" for "manual" in GitHub links to access setup manual.
  • Manual generated from repository files for specific system compatibility.
  • GitManual AI Agent provides troubleshooting and error explanations.

More from Wednesday 11 November →