Skip to content

Get positions

GET /positions

Server: https://data.openfish.fun (port 3003)

Tags: Core

Lists all active (non-zero) positions held by a given wallet, with full PnL calculations and flexible sorting.


NameInTypeDefaultDescription
userquerystringRequired. User wallet address
marketquerystringComma-separated condition IDs
eventIdquerystringComma-separated event IDs (mutually exclusive with market)
sizeThresholdquerystring0Minimum position size
redeemablequerybooleanFilter redeemable positions
mergeablequerybooleanFilter mergeable positions
limitqueryinteger100Max results (max 500)
offsetqueryinteger0Pagination offset
sortByquerystringTOKENSSort field. One of: CURRENT, INITIAL, TOKENS, CASHPNL, PERCENTPNL, TITLE, RESOLVING, PRICE, AVGPRICE
sortDirectionquerystringDESCSort direction. One of: ASC, DESC
titlequerystringTitle search filter

200 — A JSON array of Position objects.

[
{
"proxyWallet": "0xabc...",
"asset": "token123",
"conditionId": "0xdef...",
"size": "100.5",
"avgPrice": "0.65",
"initialValue": "65.33",
"currentValue": "70.35",
"cashPnl": "5.02",
"percentPnl": "7.69",
"totalBought": "100.5",
"realizedPnl": "0",
"percentRealizedPnl": "0",
"curPrice": "0.70",
"redeemable": false,
"mergeable": false,
"title": "Will BTC exceed $100k?",
"slug": "will-btc-exceed-100k",
"icon": "https://...",
"eventSlug": "bitcoin-milestones",
"eventId": "456",
"outcome": "Yes",
"outcomeIndex": 0,
"oppositeOutcome": "No",
"oppositeAsset": "token456",
"endDate": "2026-12-31",
"negativeRisk": false
}
]

Terminal window
curl "https://data.openfish.fun/positions?user=0xabc123...&sortBy=CURRENT&sortDirection=DESC"