Transparent, non-custodial, yours

Solana transactions have a deadline built in

Each transaction references a recent blockhash valid for a short window. Once it passes, the transaction is permanently invalid. What that changes.

Mechanism A recent blockhash validated against a rolling window
Window Short — on the order of a minute or two
On expiry Permanently invalid; nothing is charged

FBT Swap

What you should know

An Ethereum transaction can sit unconfirmed for hours. A Solana transaction cannot: it references a recent blockhash, and once that hash is too old the transaction is rejected permanently.

The window is short — roughly a minute or two. This design prevents replay and removes stuck transactions, and it produces behaviour that surprises people arriving from EVM chains.

How the blockhash works

Every transaction includes a recent blockhash, which validators check against a rolling window of recently produced blocks. If the hash is outside that window, the transaction is invalid and cannot be processed.

This means a signed transaction has a natural expiry and cannot be replayed later, which is a useful security property.

What you see when it expires

The transaction simply never appears. There is no pending state to cancel and no stuck nonce to clear. Clients report it as expired or not confirmed, and you resubmit.

Nothing was charged, because it was never processed. This is different from an EVM revert, where the fee is consumed.

Why this happens more during congestion

When demand is high, under-priced transactions are not selected and the window elapses while they wait. The expiry is the visible symptom; the priority fee is usually the cause.

Clients retry by rebuilding with a fresh blockhash and a higher fee rather than resending the same signed payload, which would still be expired.

Durable nonces exist for the cases where a transaction genuinely must be signed in advance and submitted later, such as multisig coordination. They replace the blockhash with a stored value that only advances when used, and they are deliberately uncommon in ordinary flows.

What it means for swapping

A quote and a signature must be close together in time. Leaving a confirmation screen open and signing several minutes later produces an expired transaction rather than a stale trade, which is arguably safer.

FBT Swap builds Solana transactions with a fresh blockhash at signing time and re-quotes before submission, so the common failure is expiry you can retry rather than a bad fill.

At a glance

At a glance

Mechanism

A recent blockhash validated against a rolling window

Window

Short — on the order of a minute or two

On expiry

Permanently invalid; nothing is charged

Usual cause

A priority fee too low to be included in time

FAQ

Frequently asked questions

Clear answers before you decide.

Can I cancel a Solana transaction?

There is nothing to cancel. If it is not included within the blockhash window it becomes invalid on its own, which is effectively an automatic cancellation.

Was I charged for an expired transaction?

No. Fees are charged when a transaction is processed. An expired transaction was never processed, so no fee applies.

Why does my wallet say "block height exceeded"?

That is the expiry message: the referenced blockhash fell outside the valid window before inclusion. Rebuild with a fresh blockhash and a higher priority fee.

Risk notice

Crypto assets are volatile and on-chain transactions cannot be reversed. You can lose money, including all of it. Nothing here is financial advice.