getSignatureStatuses
The getSignatureStatuses method returns the statuses of a list of transaction signatures. This is one of the most important methods for tracking transaction processing, as it provides confirmation status, error details, and finality information for submitted transactions.
After sending a transaction to the Solana network, you need to monitor its status to determine if it was successfully processed, encountered errors, or is still pending. This method provides comprehensive status information including whether the transaction was processed, what commitment level it has achieved, which slot it was included in, any errors that occurred, and confirmation counts. It's essential for reliable transaction tracking and user feedback.
This method is crucial for wallets, payment processors, DEXes, and any application that submits transactions. It enables showing transaction progress to users, implementing retry logic for failed transactions, and confirming that operations completed successfully before proceeding with dependent actions. The method supports querying multiple signatures simultaneously for efficient batch status checking.
Parameters
parameter | type | description |
|---|---|---|
signatures | array | Array of transaction signatures as base-58 encoded strings (maximum 256 signatures) |
config | object | Optional configuration object |
config.searchTransactionHistory | boolean | If true, searches the ledger cache for signatures not found in recent status cache (default: false) |
Return Object
field | type | description |
|---|---|---|
context | object | RPC response context with slot information |
context.slot | number | The slot at which this status was retrieved |
value | array | Array of status objects or null for each signature (null if not found) |
value[].slot | number | The slot in which the transaction was processed |
value[].confirmations | number|null | Number of blocks since confirmation. null if rooted (finalized) |
value[].err | object|null | Error if transaction failed, null if succeeded |
value[].confirmationStatus | string|null | Commitment level: 'processed', 'confirmed', or 'finalized'. null if unknown |
value[].status | object | Deprecated. Transaction status - use err field instead |
Request Example
Response Example
Tip: null confirmations means the transaction is finalized (rooted). Check err field - null means success, any object means failure. confirmationStatus shows commitment level. Set searchTransactionHistory to true for older transactions, but this is slower. Maximum 256 signatures per request.