Skip to main content
POST
/
api
/
v4
/
collateral-account
/
positions
/
open
Open Positions
curl --request POST \
  --url https://whitebit.com/api/v4/collateral-account/positions/open \
  --header 'Content-Type: application/json' \
  --header 'X-TXC-APIKEY: <api-key>' \
  --header 'X-TXC-PAYLOAD: <api-key>' \
  --header 'X-TXC-SIGNATURE: <api-key>' \
  --data '
{
  "market": "BTC_USDT",
  "request": "{{request}}",
  "nonce": "{{nonce}}"
}
'
[
  {
    "positionId": 527,
    "market": "BTC_USDT",
    "openDate": 1651568067.789679,
    "modifyDate": 1651568067.789679,
    "amount": "0.1",
    "basePrice": "45658.349",
    "liquidationPrice": null,
    "liquidationState": "margin_call",
    "pnl": "-168.42",
    "pnlPercent": "-0.43",
    "margin": "8316.74",
    "freeMargin": "619385.67",
    "funding": "0",
    "unrealizedFunding": "0.0019142920201966",
    "tpsl": {
      "takeProfitId": 123,
      "takeProfit": "50000",
      "stopLossId": 124,
      "stopLoss": "35000"
    },
    "positionSide": "LONG"
  },
  {
    "positionId": 528,
    "market": "ETH_USDT",
    "openDate": 1651568067.789679,
    "modifyDate": 1651568067.789679,
    "amount": "0.1",
    "basePrice": "5658.349",
    "liquidationPrice": null,
    "liquidationState": "margin_call",
    "pnl": "-168.42",
    "pnlPercent": "-0.43",
    "margin": "8316.74",
    "freeMargin": "19385.67",
    "funding": "0",
    "unrealizedFunding": "0.0020142920201966",
    "tpsl": null,
    "positionSide": "LONG"
  }
]

Authorizations

X-TXC-APIKEY
string
header
required

The public WhiteBIT API key.

X-TXC-PAYLOAD
string
header
required

Base64-encoded JSON request body.

X-TXC-SIGNATURE
string
header
required

HMAC-SHA512 signature of the payload, hex-encoded. Computed as hex(HMAC-SHA512(payload, api_secret)).

Body

application/json
market
string

Filter by specific market. For example: BTC_USDT

If not specified, returns all open positions.

Example:

"BTC_USDT"

request
string

Request signature

Example:

"{{request}}"

nonce
string

Unique request identifier

Example:

"{{nonce}}"

Response

Successful response - returns array of open positions

positionId
integer

Unique position identifier

Example:

527

market
string

Market name

Example:

"BTC_USDT"

amount
string

Position amount

Example:

"0.1"

basePrice
string

Base price of position

Example:

"45658.349"

pnl
string

Realized profit and loss accumulated from partial position closes, in money currency. Zero for newly opened positions that have not been partially closed.

Example:

"-168.42"

pnlPercent
string

Unrealized profit and loss in percentage

Example:

"-0.43"

margin
string

Amount of funds in open position money

Example:

"8316.74"

freeMargin
string

Free funds for trading

Example:

"619385.67"

funding
string

Cumulative funding fees paid over the entire lifetime of the position, in money currency. For futures markets (e.g., BTC_PERP and other _PERP pairs), the value is always "0" — futures funding is applied via periodic balance updates rather than being tracked per position.

Example:

"0"

unrealizedPnl
string

Floating (mark-to-market) unrealized profit and loss in money currency. Updates continuously as the market price changes.

Example:

"0.0019142920201966"

positionSide
enum<string>

Position side

Available options:
LONG,
SHORT,
BOTH
Example:

"LONG"

openDate
number

Date of position opening in Unix timestamp format

Example:

1651568067.789679

modifyDate
number

Date of position modifying (current event) in Unix timestamp format

Example:

1651568067.789679

liquidationPrice
string | null

Liquidation price according to current state of position

Example:

null

liquidationState
enum<string> | null

State of liquidation

Available options:
margin_call,
liquidation
Example:

null

tpsl
object

Take profit and stop loss configuration

unrealizedFunding
string

Funding fees accrued since the last position state change and not yet realized. For margin positions, the value accumulates continuously and is settled into the funding field when the position state changes (e.g., on partial or full close). For futures markets (BTC_PERP and other _PERP pairs), always "0" — futures funding is applied via periodic balance updates, not tracked per position.

Example:

"0.0019142920201966"