API reference
Positions
Every position across its lifecycle.
List positions
/api/v1/positionsAPI keyReturns positions across their whole lifecycle. Filter by status to list only open or closed positions.
Parameters
statusstring · queryoptionalOnly return positions in this status.
limitinteger · queryoptionalNumber of results, 1 to 100. Defaults to
25.cursorstring · queryoptionalOpaque cursor from a previous response’s pagination.nextCursor.
Response (array of)
idstring · uuidPosition ID.
statusstringPosition lifecycle status.
pending_depositpending_fundingfundedopenclosingclosedfailedcancelledrefund_pendingrefundedrequires_reviewmintstringnullableToken mint held by the position.
tokenobjectnullableToken metadata captured at buy time.
symbolstringnullableTicker symbol.
namestringnullableToken name.
decimalsintegernullableToken decimals.
principalLamportsstringSOL principal the user deposited, in lamports.
costLamportsstringnullableSOL actually spent by the swap, in lamports.
boughtAmountstringnullableRaw token units received by the buy.
soldAmountstringRaw token units sold so far.
remainingAmountstringnullableRaw token units still held.
buyTradeIdstringnullableID of the buy trade that opened the position.
buySignaturestringnullableBuy swap transaction signature.
openedAtstring · date-timenullableWhen the buy completed.
createdAtstring · date-timeWhen the position was created.
updatedAtstring · date-timeLast state change.
Errors
curl "https://privy.ac/api/v1/positions" \
-H "X-API-Key: $PRIVY_API_KEY"{
"data": [
{
"id": "4a3f2c1e-8b7d-4e6f-9a01-23456789abcd",
"status": "open",
"mint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"token": {
"symbol": "Bonk",
"name": "Bonk",
"decimals": 5
},
"principalLamports": "50000000",
"costLamports": "49852211",
"boughtAmount": "161834512",
"soldAmount": "0",
"remainingAmount": "161834512",
"buyTradeId": "9c1d2e3f-4a5b-4c6d-8e7f-0123456789ab",
"buySignature": "5h8Xb3...kQ2",
"openedAt": "2026-10-09T18:22:41.000Z",
"createdAt": "2026-10-09T18:21:58.000Z",
"updatedAt": "2026-10-09T18:22:41.000Z"
}
],
"pagination": {
"nextCursor": null,
"hasMore": false
},
"requestId": "req_8f3a2c91d4e6b07f"
}Get a position
/api/v1/positions/{id}API keyReturns a single position. Positions owned by another account return 404.
Parameters
idstring · pathrequiredPosition ID.
Response
idstring · uuidPosition ID.
statusstringPosition lifecycle status.
pending_depositpending_fundingfundedopenclosingclosedfailedcancelledrefund_pendingrefundedrequires_reviewmintstringnullableToken mint held by the position.
tokenobjectnullableToken metadata captured at buy time.
symbolstringnullableTicker symbol.
namestringnullableToken name.
decimalsintegernullableToken decimals.
principalLamportsstringSOL principal the user deposited, in lamports.
costLamportsstringnullableSOL actually spent by the swap, in lamports.
boughtAmountstringnullableRaw token units received by the buy.
soldAmountstringRaw token units sold so far.
remainingAmountstringnullableRaw token units still held.
buyTradeIdstringnullableID of the buy trade that opened the position.
buySignaturestringnullableBuy swap transaction signature.
openedAtstring · date-timenullableWhen the buy completed.
createdAtstring · date-timeWhen the position was created.
updatedAtstring · date-timeLast state change.
Errors
curl "https://privy.ac/api/v1/positions/4a3f2c1e-8b7d-4e6f-9a01-23456789abcd" \
-H "X-API-Key: $PRIVY_API_KEY"{
"data": {
"id": "4a3f2c1e-8b7d-4e6f-9a01-23456789abcd",
"status": "open",
"mint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"token": {
"symbol": "Bonk",
"name": "Bonk",
"decimals": 5
},
"principalLamports": "50000000",
"costLamports": "49852211",
"boughtAmount": "161834512",
"soldAmount": "0",
"remainingAmount": "161834512",
"buyTradeId": "9c1d2e3f-4a5b-4c6d-8e7f-0123456789ab",
"buySignature": "5h8Xb3...kQ2",
"openedAt": "2026-10-09T18:22:41.000Z",
"createdAt": "2026-10-09T18:21:58.000Z",
"updatedAt": "2026-10-09T18:22:41.000Z"
},
"requestId": "req_8f3a2c91d4e6b07f"
}