API reference
Trade status
Look up and poll a buy or sell.
Use the full trade for display and the compact status for polling. Both are read-only: looking up a trade never advances or retries it.
Get a trade
/api/v1/trades/{id}API keyLooks up a buy by its UUID or a sell by its group key. Read-only: this never advances or retries a trade.
Parameters
idstring · pathrequiredBuy UUID or sell group key.
Response
idstringTrade ID. A UUID for buys, a group key for sells.
sidestringTrade direction.
buysellstatusstringRaw internal status. Prefer stage for display.
stagestringNormalised lifecycle stage.
awaiting_depositconfirming_depositfundingexecutingsettlingcompletedfailedrefundingrefundedexpiredcancelledrequires_reviewterminalbooleanTrue once the trade will not change again.
inputMintstringMint spent.
outputMintstringMint received.
inputAmountstringRaw input amount (lamports for buys).
expectedOutputAmountstringQuoted raw output amount.
minimumOutputAmountstringMinimum output locked by slippage tolerance.
receivedOutputAmountstringnullableRaw output actually received.
slippageBpsintegernullableSlippage tolerance in basis points.
platformFeeLamportsstringnullablePlatform fee charged on a buy.
signaturesobjectOn-chain transaction signatures.
depositstringnullableDeposit transaction signature (buys).
swapsstring[]Swap transaction signatures.
payoutsstring[]SOL payout signatures (sells).
refundstringnullableRefund signature when a buy was refunded.
refundobjectnullableRefund progress when a buy could not execute.
statestringRefund state.
recoveringin_progresscompleteamountLamportsstringnullableRefunded lamports.
failureobjectnullableFailure details when the trade failed.
codestringnullableMachine-readable failure code.
reasonstringnullableHuman-readable reason.
createdAtstring · date-timeWhen the trade was created.
expiresAtstring · date-timenullableDeposit deadline for buys.
completedAtstring · date-timenullableWhen the trade completed.
Errors
curl "https://privy.ac/api/v1/trades/9c1d2e3f-4a5b-4c6d-8e7f-0123456789ab" \
-H "X-API-Key: $PRIVY_API_KEY"{
"data": {
"id": "9c1d2e3f-4a5b-4c6d-8e7f-0123456789ab",
"side": "buy",
"status": "completed",
"stage": "completed",
"terminal": true,
"inputMint": "So11111111111111111111111111111111111111112",
"outputMint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"inputAmount": "50000000",
"expectedOutputAmount": "162010220",
"minimumOutputAmount": "137708687",
"receivedOutputAmount": "161834512",
"slippageBps": 1500,
"platformFeeLamports": "500000",
"signatures": {
"deposit": "3uYp...9Fa",
"swaps": [
"5h8Xb3...kQ2"
],
"payouts": [],
"refund": null
},
"refund": null,
"failure": null,
"createdAt": "2026-10-09T18:21:58.000Z",
"expiresAt": "2026-10-09T18:31:58.000Z",
"completedAt": "2026-10-09T18:22:41.000Z"
},
"requestId": "req_8f3a2c91d4e6b07f"
}Get trade status
/api/v1/trades/{id}/statusAPI keyA smaller payload for polling until terminal is true. Poll no faster than every 2 seconds.
Parameters
idstring · pathrequiredBuy UUID or sell group key.
Response
idstringTrade ID. A UUID for buys, a group key for sells.
sidestringTrade direction.
buysellstatusstringRaw internal status. Prefer stage for display.
stagestringNormalised lifecycle stage.
awaiting_depositconfirming_depositfundingexecutingsettlingcompletedfailedrefundingrefundedexpiredcancelledrequires_reviewterminalbooleanTrue once the trade will not change again.
signaturesobjectOn-chain transaction signatures.
depositstringnullableDeposit transaction signature (buys).
swapsstring[]Swap transaction signatures.
payoutsstring[]SOL payout signatures (sells).
refundstringnullableRefund signature when a buy was refunded.
failureobjectnullableFailure details when the trade failed.
codestringnullableMachine-readable failure code.
reasonstringnullableHuman-readable reason.
refundobjectnullableRefund progress when a buy could not execute.
statestringRefund state.
recoveringin_progresscompleteamountLamportsstringnullableRefunded lamports.
completedAtstring · date-timenullableWhen the trade completed.
Errors
curl "https://privy.ac/api/v1/trades/9c1d2e3f-4a5b-4c6d-8e7f-0123456789ab/status" \
-H "X-API-Key: $PRIVY_API_KEY"{
"data": {
"id": "9c1d2e3f-4a5b-4c6d-8e7f-0123456789ab",
"side": "buy",
"status": "swap_submitted",
"stage": "executing",
"terminal": false,
"signatures": {
"deposit": "3uYp...9Fa",
"swaps": [
"5h8Xb3...kQ2"
],
"payouts": [],
"refund": null
},
"failure": null,
"refund": null,
"completedAt": null
},
"requestId": "req_8f3a2c91d4e6b07f"
}