Skip to main content
Version: testnet (v0.73)


An individual party at any point in time is considered net long or net short. This refers to their Open Volume, calculated using FIFO. This volume is signed as either negative for LONG positions and positive for SHORT positions. A single trade may end up "splitting" with some of its volume matched into closed volume and some of its volume remaining as open volume. This is why we don't refer to positions being comprised of trades, rather of volume.

type Position {
market: Market!
party: Party!
openVolume: String!
realisedPNL: String!
unrealisedPNL: String!
averageEntryPrice: String!
lossSocializationAmount: String!
positionStatus: PositionStatus!
pagination: Pagination
): MarginConnection
updatedAt: Timestamp

Fields ● Market! non-null object

Market relating to this position ● Party! non-null object

The party holding this position

Position.openVolume ● String! non-null scalar

Open volume (int64)

Position.realisedPNL ● String! non-null scalar

Realised Profit and Loss (int64)

Position.unrealisedPNL ● String! non-null scalar

Unrealised Profit and Loss (int64)

Position.averageEntryPrice ● String! non-null scalar

Average entry price for this position

Position.lossSocializationAmount ● String! non-null scalar

The total amount of profit and loss that was not transferred due to loss socialisation

Position.positionStatus ● PositionStatus! non-null enum

Enum set if the position was closed out or orders were removed because party was distressed

Position.marginsConnection ● MarginConnection object

Margins of the party for the given position

Position.marginsConnection.pagination ● Pagination input

Position.updatedAt ● Timestamp scalar

RFC3339Nano time the position was updated

Member of

Entities object ● PositionEdge object