“Block height exceeded” — the transaction expired
The transaction did not land before its blockhash expired.
TransactionExpiredBlockheightExceededError: Signature … has expired: block height exceeded
Cause
Client libraries wait for confirmation until the last valid block height of the blockhash. If the transaction has not landed by then, it can no longer land, and the library raises this error.
Under load this usually means the transaction was not picked up: its priority fee was low compared with the other transactions competing for the same accounts, or it never reached the leader.
Fix
- Rebuild it with a fresh blockhash and send again.
- Compare your price with the current levels and the fees paid for the program you are using.
Fee charged? No, as long as it really never landed. Check the signature in the lookup before resending, so you do not do the same thing twice.
FAQ
What does “TransactionExpiredBlockheightExceededError: Signature … has expired: block height exceeded” mean?
Client libraries wait for confirmation until the last valid block height of the blockhash. If the transaction has not landed by then, it can no longer land, and the library raises this error. Under load this usually means the transaction was not picked up: its priority fee was low compared with the other transactions competing for the same accounts, or it never reached the leader.
How do I fix it?
Rebuild it with a fresh blockhash and send again. Compare your price with the current levels and the fees paid for the program you are using.
Was I charged a fee?
No, as long as it really never landed. Check the signature in the lookup before resending, so you do not do the same thing twice.
“Insufficient funds for rent”“Exceeded CUs meter” / “Computational budget exceeded”“Blockhash not found” when sending a Solana transaction“Transaction simulation failed”