Logo officiel du MASTR MASTR
Menu

Solana : du devis au règlement

Solana transaction expiry: submitted is not confirmed

A recent blockhash limits validity; a timeout alone does not establish the final outcome.

Mis à jour le 30 septembre 2026 · MASTR Labs

Les articles et schémas techniques sont en anglais. La navigation est disponible en 7 langues.

Guides de référence
  1. A short-lived transaction message
  2. Follow block height and signature status
  3. Why blind retries confuse the record
  4. Preserve the useful evidence
  5. Exemple concret
  6. Sources et originaux

A short-lived transaction message

Ordinary Solana transactions carry a recent blockhash. Validators reject a transaction once that blockhash is outside the accepted processing window. This bounds how long the network must consider the same transaction for processing. Durable nonce transactions follow a different mechanism and should not be analysed as if they used the ordinary recent-blockhash lifecycle. 1

Follow block height and signature status

The getLatestBlockhash response includes lastValidBlockHeight. A confirmation flow can track the transaction’s signature and the relevant block-height condition, using a consistent commitment context. A fixed 60-second timer is a user-interface timeout, not consensus proof that a transaction can never land. RPC nodes can differ in freshness, and a response can be lost even when a transaction was processed. 2

Why blind retries confuse the record

Rebroadcasting the same signed transaction and constructing a new transaction are different actions. A fresh blockhash changes the message and requires a new signature. Before offering a new payment or trade, an interface needs to determine whether the earlier one settled or expired. Otherwise the user can mistake two distinct authorisations for a harmless network retry.

Preserve the useful evidence

A good support record includes the signature, the reported state, the observation time and the RPC commitment used. It never needs a seed phrase. Distinguish pending, failed on-chain, expired and unknown. An explorer not immediately showing a signature is an observation about that explorer at that moment, not proof of non-execution across the network.

Track the transaction, not only a timer
Schéma explicatif. Ouvrir en pleine taille. Credits ↗ A client timeout is not proof that the transaction never executed.

Exemple concret

A wallet reports a request timeout, but the transaction’s signature later appears as confirmed. The timeout described a failed wait for a response. It did not reverse the transaction. Starting an equivalent newly signed trade before resolving that uncertainty could create a second trade.

Sources et originaux

  1. Solana: confirmation and expiration
  2. Solana RPC: getLatestBlockhash

Pour aller plus loin

Solana : du devis au règlement →

MASTR

Soutenir la recherche indépendante

Les enquêtes, les preuves originales et les guides sont en accès libre. Les dons volontaires contribuent au financement de la recherche et au maintien des outils MASTR.

Ouvrir le portefeuille