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": ""
}
}
}Account Data
Get Open Positions
Get information about open margin positions.
API Key Permissions Required: Orders and trades - Query open orders & trades
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
The "API-Key" header should contain your API key.
Authenticated requests should be signed with the "API-Sign" header, using a signature generated with your private key, nonce, encoded payload, and URI path.
Query Parameters
Public wallet account ID. Omit to use the authenticated user's default wallet. See List Wallet Accounts.
Body
application/json
Nonce used in construction of API-Sign header
Comma delimited list of txids to limit output to
Whether to include P&L calculations
Consolidate positions by market/pair
Available options:
market 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.
Was this page helpful?