Pending transactions
What happens before broadcast?
Before sending a signed transaction to Solana, the server durably records its exact signed bytes and deterministic signature. The browser saves a receipt so it can ask about that same submission after a refresh.
Unsigned preparations expire after 60 seconds. Once signed bytes have been recorded for submission, recovery follows their signature and blockhash instead of creating a replacement transaction.
What does each status mean?
| Status | Meaning |
|---|---|
| Pending | The result is not yet established. A timeout or unavailable RPC does not prove failure. |
| Confirmed | Solana reports the transaction as confirmed or finalized without an execution error. |
| Failed | The transaction is confirmed with an execution error. |
| Expired | An unsigned preparation expired, or RPC finds no landed signature after its last valid block height. |
Can retrying execute the trade twice?
The recovery path resends only the same saved transaction bytes while their blockhash is valid. Solana does not execute the same signature twice. A newly prepared transaction would have a different signature and could be a second trade.
Keep the receipt and resolve the original result before submitting another trade. The app blocks a new submission for that wallet until the previous terminal result is acknowledged. Live market updates are not proof that your particular transaction succeeded; use its receipt and signature.