Logótipo oficial do MASTR MASTR
Menu

Solana: da cotação à liquidação

Solana transaction expiry: submitted is not confirmed

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

Atualizado em 30 de setembro de 2026 · MASTR Labs

Os artigos e gráficos técnicos estão em inglês. A navegação está disponível em 7 idiomas.

Guias de referência
  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. Exemplo concreto
  6. Fontes e originais

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
Diagrama explicativo. Abrir em tamanho completo. Credits ↗ A client timeout is not proof that the transaction never executed.

Exemplo concreto

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.

Fontes e originais

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

Continuar a leitura

Solana: da cotação à liquidação →

MASTR

Apoiar a investigação independente

As investigações, as provas originais e os guias são de acesso livre. Os donativos voluntários ajudam a financiar a investigação e a manter disponíveis as ferramentas MASTR.

Abrir carteira