Skip to main content
POST
/
private
/
OpenPositions
Get Open Positions
curl --request POST \
  --url https://api.kraken.com/0/private/OpenPositions \
  --header 'API-Key: <api-key>' \
  --header 'API-Sign: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "nonce": 1695828490,
  "docalcs": false,
  "consolidation": "market",
  "txid": "STMH53C-C54CG-4SO42I, ST4USDQ-ZQBMB-FGET2G"
}
'
import requests

url = "https://api.kraken.com/0/private/OpenPositions"

payload = {
"nonce": 1695828490,
"docalcs": False,
"consolidation": "market",
"txid": "STMH53C-C54CG-4SO42I, ST4USDQ-ZQBMB-FGET2G"
}
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'API-Key': '<api-key>',
'API-Sign': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
nonce: 1695828490,
docalcs: false,
consolidation: 'market',
txid: 'STMH53C-C54CG-4SO42I, ST4USDQ-ZQBMB-FGET2G'
})
};

fetch('https://api.kraken.com/0/private/OpenPositions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.kraken.com/0/private/OpenPositions"

payload := strings.NewReader("{\n \"nonce\": 1695828490,\n \"docalcs\": false,\n \"consolidation\": \"market\",\n \"txid\": \"STMH53C-C54CG-4SO42I, ST4USDQ-ZQBMB-FGET2G\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
{
  "error": [],
  "result": {
    "TF5GVO-T7ZZ2-6NBKBI": {
      "ordertxid": "OLWNFG-LLH4R-D6SFFP",
      "posstatus": "open",
      "pair": "XXBTZUSD",
      "time": 1605280097.8294,
      "type": "buy",
      "ordertype": "limit",
      "cost": "104610.52842",
      "fee": "289.06565",
      "vol": "8.82412861",
      "vol_closed": "0.20200000",
      "margin": "20922.10568",
      "value": "258797.5",
      "net": "+154186.9728",
      "terms": "0.0100% per 4 hours",
      "rollovertm": "1616672637",
      "misc": "",
      "oflags": ""
    },
    "T24DOR-TAFLM-ID3NYP": {
      "ordertxid": "OIVYGZ-M5EHU-ZRUQXX",
      "posstatus": "open",
      "pair": "XXBTZUSD",
      "time": 1607943827.3172,
      "type": "buy",
      "ordertype": "limit",
      "cost": "145756.76856",
      "fee": "335.24057",
      "vol": "8.00000000",
      "vol_closed": "0.00000000",
      "margin": "29151.35371",
      "value": "240124.0",
      "net": "+94367.2314",
      "terms": "0.0100% per 4 hours",
      "rollovertm": "1616672637",
      "misc": "",
      "oflags": ""
    },
    "TYMRFG-URRG5-2ZTQSD": {
      "ordertxid": "OF5WFH-V57DP-QANDAC",
      "posstatus": "open",
      "pair": "XXBTZUSD",
      "time": 1610448039.8374,
      "type": "buy",
      "ordertype": "limit",
      "cost": "0.00240",
      "fee": "0.00000",
      "vol": "0.00000010",
      "vol_closed": "0.00000000",
      "margin": "0.00048",
      "value": "0",
      "net": "+0.0006",
      "terms": "0.0100% per 4 hours",
      "rollovertm": "1616672637",
      "misc": "",
      "oflags": ""
    },
    "TAFGBN-TZNFC-7CCYIM": {
      "ordertxid": "OF5WFH-V57DP-QANDAC",
      "posstatus": "open",
      "pair": "XXBTZUSD",
      "time": 1610448039.8448,
      "type": "buy",
      "ordertype": "limit",
      "cost": "2.40000",
      "fee": "0.00264",
      "vol": "0.00010000",
      "vol_closed": "0.00000000",
      "margin": "0.48000",
      "value": "3.0",
      "net": "+0.6015",
      "terms": "0.0100% per 4 hours",
      "rollovertm": "1616672637",
      "misc": "",
      "oflags": ""
    },
    "T4O5L3-4VGS4-IRU2UL": {
      "ordertxid": "OF5WFH-V57DP-QANDAC",
      "posstatus": "open",
      "pair": "XXBTZUSD",
      "time": 1610448040.7722,
      "type": "buy",
      "ordertype": "limit",
      "cost": "21.59760",
      "fee": "0.02376",
      "vol": "0.00089990",
      "vol_closed": "0.00000000",
      "margin": "4.31952",
      "value": "27.0",
      "net": "+5.4133",
      "terms": "0.0100% per 4 hours",
      "rollovertm": "1616672637",
      "misc": "",
      "oflags": ""
    }
  }
}

Authorizations

API-Key
string
header
required

The "API-Key" header should contain your API key.

API-Sign
string
header
required

Authenticated requests should be signed with the "API-Sign" header, using a signature generated with your private key, nonce, encoded payload, and URI path.

Body

application/json
nonce
integer<int64>
required

Nonce used in construction of API-Sign header

txid
string

Comma delimited list of txids to limit output to

docalcs
boolean
default:false

Whether to include P&L calculations

consolidation
enum<string>

Consolidate positions by market/pair

Available options:
market
rebase_multiplier
enum<string> | null
default:rebased

Optional parameter for viewing xstocks data.

  • rebased: Display in terms of underlying equity.
  • base: Display in terms of SPV tokens.
Available options:
rebased,
base

Response

200 - application/json

Open positions info retrieved.

result
object
error
string[]

Kraken API error