Returns cached positions for a wallet, enriched with metadata and lifecycle hints. Use this endpoint to retrieve all active positions for a user with detailed profit/loss calculations and market information.
Query Parameters
Wallet address whose positions should be returned.Example: 0x56687bf447db6ffa42ffe2204a05edaa20f55839
Comma-separated list of condition IDs to filter positions by specific markets.Example: 0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917
Minimum token balance to include in the response.Minimum: 0
Set to true to only return claims that can currently be redeemed.
Set to true to only return positions that can be merged.
Maximum number of rows to return.Range: 0 to 500
Cursor offset for pagination.Range: 0 to 10000
Sort column for the response.Options: CURRENT, INITIAL, TOKENS, CASHPNL, PERCENTPNL, TITLE, RESOLVING, PRICE, AVGPRICE
Sort direction (ascending or descending).Options: ASC, DESC
Substring search against market title (max 100 chars).
Response
Returns an array of position objects with the following fields:
The wallet address holding the position.
The asset identifier in the format conditionId:outcomeIndex.
The condition ID (market identifier) for this position.
Current token balance for this position.
Average price paid for this position.
The initial value invested in this position.
The current market value of this position.
Cash profit/loss for this position (currentValue - initialValue).
Percentage profit/loss for this position.
Total tokens bought for this position (before sells).
Realized profit/loss from partial sells.
Percentage realized profit/loss.
Current market price for this outcome token.
Whether this position can be redeemed (market resolved).
Whether this position can be merged (converted back to collateral).
The market title/question.
URL-friendly market slug.
URL to the market icon image.
The outcome name for this position (e.g., “Yes”, “No”, or candidate name).
The numeric index of this outcome.
The name of the opposite outcome.
The asset identifier for the opposite outcome.
Unix timestamp when the position was first opened.
ISO 8601 date-time when the market closes.
Whether this is a negative-risk market.
Example Request
curl -X GET "https://data-api.kuest.com/positions?user=0x56687bf447db6ffa42ffe2204a05edaa20f55839&limit=10&sortBy=CASHPNL&sortDirection=DESC"
Example Response
[
{
"proxyWallet": "0x56687bF447db6fFa42FfE2204a05edAa20f55839",
"asset": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917:0",
"conditionId": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917",
"size": 1185.42,
"avgPrice": 0.41,
"initialValue": 486.02,
"currentValue": 623.55,
"cashPnl": 137.53,
"percentPnl": 28.32,
"totalBought": 1625,
"realizedPnl": 212.48,
"percentRealizedPnl": 13.07,
"curPrice": 0.53,
"redeemable": true,
"mergeable": false,
"title": "Will the Fed cut rates in September?",
"slug": "fed-rate-cut-sep-2024",
"icon": "https://cdn.domain.com/markets/fed.png",
"eventSlug": "fomc-2024-policy",
"outcome": "Yes",
"outcomeIndex": 0,
"oppositeOutcome": "No",
"oppositeAsset": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917:1",
"timestamp": 1719273600,
"endDate": "2024-09-18T18:00:00Z",
"negativeRisk": true
},
{
"proxyWallet": "0x56687bF447db6fFa42FfE2204a05edAa20f55839",
"asset": "0x8eee3789813eead2d47db3bdf6a1c5021f564ef18e2aefc8b80b9dcd5d6f8ac5:1",
"conditionId": "0x8eee3789813eead2d47db3bdf6a1c5021f564ef18e2aefc8b80b9dcd5d6f8ac5",
"size": 940.11,
"avgPrice": 0.47,
"initialValue": 441.85,
"currentValue": 389.84,
"cashPnl": -52.01,
"percentPnl": -11.77,
"totalBought": 1300,
"realizedPnl": 98.67,
"percentRealizedPnl": 7.59,
"curPrice": 0.42,
"redeemable": false,
"mergeable": true,
"title": "Will turnout exceed 60% in the French election?",
"slug": "france-turnout-60",
"icon": "https://cdn.domain.com/markets/france-election.png",
"eventSlug": "french-presidential-2024",
"outcome": "No",
"outcomeIndex": 1,
"oppositeOutcome": "Yes",
"oppositeAsset": "0x8eee3789813eead2d47db3bdf6a1c5021f564ef18e2aefc8b80b9dcd5d6f8ac5:0",
"timestamp": 1718083200,
"endDate": "2024-07-07T20:00:00Z",
"negativeRisk": false
}
]