Skip to main content
GET
Your positions

Authorizations

X-Auth-Apikey
string
header
required

HMAC-signed API key. Send X-Auth-Apikey, X-Auth-Nonce and X-Auth-Signature.

Query Parameters

limit
integer
default:100

Positions per page. Defaults to 100, capped at 200.

Required range: 1 <= x <= 200
page
integer
default:1

Page number, from 1.

Required range: x >= 1
open_only
boolean
default:true

Default true: only holdings with a quantity above zero. Pass false to include settled and fully-exited holdings, which are kept as zero rows for the audit trail.

outcome
enum<string>

Filter to one outcome.

Available options:
yes,
no
market_ids
string

Filter to several markets at once — comma-separated engine market ids, at most 50. Lets an event page read its holdings across all of its markets in one call. Combines with the other filters; a non-numeric id or a longer list is a 400.

market_id
string

Filter to one market, by the engine's market id.

Response

avg_cost
string
required

Weighted-average price paid for the contracts still held.

Example:

"0.61"

cost_basis
string
required

avg_cost × qty — what the holding cost you.

Example:

"183"

currency
string
required
Example:

"usdc"

custody
enum<string>
required

Which pool backs it. self holdings are real ERC-1155 tokens in your Safe; custodial are ledger entries. The two never net against each other.

Available options:
custodial,
self
Example:

"self"

event_slug
string | null
required

The parent event's slug — what a portfolio row links to.

Example:

"btc-updown-5m-1730"

event_title
string | null
required
Example:

"Bitcoin Up or Down 5m"

locked_qty
string
required

Contracts reserved by your resting sell orders.

Example:

"50"

market_id
string
required

The market this holding is in.

Example:

"12"

market_title
string | null
required
Example:

"Will BTC close above its open?"

outcome
enum<string>
required

The outcome held.

Available options:
yes,
no
Example:

"yes"

outcome_label
string
required

The market's own label for this outcome (e.g. a team name).

Example:

"Yes"

outcome_labels
string[]
required

The market's labels for its two outcomes, [yes, no].

Example:
qty
string
required

Contracts held.

Example:

"300"

realized_pnl
string
required

Profit or loss already banked on this holding, from exits and from settlement. Excludes the unrealised move on what you still hold.

Example:

"3"

sellable_qty
string
required

Contracts you can offer on a NEW sell order: qty less anything already reserved by a resting sell. Size a sell against this, not qty.

Example:

"250"

updated_at
string | null
Example:

"2026-08-17T12:00:00Z"