Transaction Status
Check if a submitted transaction landed on-chain, with confirmation details and error info.
Requires API key.
GET /v1/tx/:signature
Parameters:
:signature— Transaction signature (base58, 87-88 characters)
Response (confirmed):
json
{
"signature": "5Kx9abc...3nF",
"status": "confirmed",
"confirmationStatus": "confirmed",
"slot": 410750000,
"confirmations": 15,
"error": null,
"fee": 5000,
"computeUnits": 145000
}Response (failed):
json
{
"signature": "5Kx9abc...3nF",
"status": "failed",
"confirmationStatus": "confirmed",
"slot": 410750000,
"confirmations": 15,
"error": "Instruction 1: got less output than minimum (slippage)",
"fee": 5000,
"computeUnits": 95000
}Response (not found):
json
{
"signature": "5Kx9abc...3nF",
"status": "not_found",
"reason": "Transaction not found. It may still be processing, or the signature is invalid."
}Status values:
| Status | Description |
|---|---|
confirmed | Transaction landed and confirmed (1+ confirmations) |
finalized | Transaction finalized (32+ confirmations, irreversible) |
failed | Transaction landed but reverted (error details provided) |
not_found | Transaction not found on-chain (still processing or invalid) |
error | RPC error (could not check status) |
Fields:
| Field | Description |
|---|---|
confirmationStatus | Raw Solana status: processed, confirmed, finalized |
slot | Slot the transaction was included in |
confirmations | Number of confirmations (null if finalized) |
error | Error details if transaction failed |
fee | Transaction fee in lamports |
computeUnits | Compute units consumed |
Usage with /v1/swap
typescript
// 1. Build swap
const { transaction, quoteId } = await venum.buildSwap(...);
// 2. Sign
const tx = VersionedTransaction.deserialize(Buffer.from(transaction, 'base64'));
tx.sign([wallet]);
// 3. Submit
const { signature } = await venum.submitSwap(signed, quoteId);
// 4. Check status
const status = await fetch(`https://api.venum.dev/v1/tx/${signature}`, {
headers: { 'X-API-Key': key },
}).then(r => r.json());
if (status.status === 'confirmed') {
console.log('Swap landed!', status.fee, 'lamports fee');
} else if (status.status === 'failed') {
console.log('Swap failed:', status.error);
}