Skip to content
Crypto Bulletin

Markets, protocols and policy news

ID 4f59f6

Why a Solana Swap Can Stay Pending

A pending Solana swap is a status gap, not proof of success or failure; check its signature, confirmation level and blockhash expiry before retrying.

Crypto Bulletin Newsroom 2 min read

Cover image for Why a Solana Swap Can Stay Pending

A Solana swap can stay marked pending after submission because its wallet has not yet received a usable confirmation result; that label alone does not show whether the swap succeeded. Solana’s transaction guidance describes a flow in which a signed transaction is sent to an RPC node, forwarded for processing, and then checked for inclusion or expiry.

What does pending mean on Solana?

Pending means the app has not resolved the transaction’s status, which is separate from whether the network has processed it. Solana’s getSignatureStatuses RPC method reports a status and confirmation level for a transaction signature; a missing status can mean that the queried node has no record in its recent cache, not that the transaction definitely failed.

Find the signature in the wallet’s activity details and check it through the wallet’s transaction view or another Solana status checker. Solana uses the levels processed, confirmed and finalized, in increasing order of commitment; its RPC guidance says to check both the confirmation level and whether the transaction’s err field is null. For the route and liquidity questions behind a Byreal swap, see Byreal swap and liquidity checks.

Why can a Solana swap take longer?

A transaction may wait because it has not landed in a block, or because the app or RPC node is slow to report its status. Solana’s production guidance says mainnet transactions compete for block space and identifies a fresh blockhash, a suitable compute limit and a priority fee as factors that can help a transaction land.

Every recent-blockhash transaction has a limited lifetime. Solana’s guidance puts that window at roughly 150 blocks, or about 60–90 seconds, and says the returned lastValidBlockHeight can be used to track expiry. A status check can also miss an older transaction if it has left the recent cache; Solana documents searchTransactionHistory for that case.

For a swap, the transaction contains instructions that perform the trade as one atomic operation: Solana’s transaction documentation says the instructions succeed or fail together. A fee can therefore be charged for a failed transaction even when the intended token exchange did not complete, so check the transaction result before judging it by the wallet’s pending label.

What should you check before retrying?

Check the existing signature and its expiry before signing another swap. Solana’s transaction guidance ties expiry to the blockhash, while its status guidance uses the signature and execution error to distinguish a confirmed result from an unresolved one.

  • Open the transaction details and copy its signature.
  • Check whether the status is absent, processed, confirmed or finalized, and whether an error is reported.
  • If the transaction is still unresolved, check whether its blockhash remains valid using the transaction’s recorded validity information, when available.
  • After confirmation, inspect the token balances or transaction record to see whether the swap executed.

Do not submit a second, newly signed swap while the first signature is unresolved: the first transaction could still land, leaving you with two trades. If the blockhash has expired and the transaction did not land, rebuild and review the swap before signing again; Solana’s guidance requires a fresh blockhash for a new transaction.