Distinguish receipt from final execution in Solana signature notifications
A checkout can acknowledge that an RPC received a signature while it waits for final execution. The early notification and the terminal notification carry different payloads.
Subscribe with the transaction identifier
Place the transaction’s first base58 signature in this WebSocket frame. Store the numeric subscription id returned in the acknowledgement. With early notifications enabled, a node may report receivedSignature before the transaction reaches the requested commitment.
{
"jsonrpc": "2.0",
"id": 1,
"method": "signatureSubscribe",
"params": [
"FIRST_SIGNATURE",
{
"commitment": "finalized",
"enableReceivedNotification": true
}
]
}
Complete the checkout only on a terminal result
For example, a receivedSignature value followed by an object with err set to null means the node first observed the signature and later reported successful finalized execution. A terminal object with an execution error records failure even if the early indication was positive. Accept a terminal result even when no early message arrived.
The subscription ends after the terminal notification. If the connection drops earlier, look up the signature using getSignatureStatuses and check confirmationStatus and err before resolving the order.