curl --request GET \
--url http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits \
--header 'Authorization: Bearer <token>'import requests
url = "http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4410",
CURLOPT_URL => "http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"currency": "BTC_USDC",
"sm_max_future_position_size": 10,
"pm_max_future_open_order_size": 200,
"pm_max_option_open_contracts": 300,
"max_open_orders": 11,
"sm_max_open_orders_per_instrument": 20,
"pm_max_future_open_orders": 30,
"pm_max_option_open_orders": 40
}
]
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}Get Starbase Risk Limits
Returns the effective position (“risk”) limits for the authenticated portfolio, one entry per underlying (currency pair).
Each numeric field is resolved per field: a portfolio override wins when that field is set, otherwise the currency-pair default is used. A field unset at both levels is omitted. -1 means the limit is explicitly unlimited (distinct from unset). The call is read-only and does not change limits.
Only underlyings that have a currency-pair default or an override for this portfolio are included. Overrides that belong to other portfolios do not create an entry.
Pass currency to select one underlying. The value is the currency-pair name returned in currency (for example BTC_USDC). Matching is case-insensitive and ignores separators, so btc-usdc and BTCUSDC resolve to the same pair. An unknown name returns HTTP 400. A known pair with no configured limit for this portfolio returns an empty list.
The portfolio is resolved from the authenticated session. There is no parameter to query another portfolio.
This endpoint is rate-limited per portfolio. Exceeding the limit returns HTTP 429.
curl --request GET \
--url http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits \
--header 'Authorization: Bearer <token>'import requests
url = "http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4410",
CURLOPT_URL => "http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://195.138.37.5:4410/api/v2/private/get_starbase_risk_limits")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": [
{
"currency": "BTC_USDC",
"sm_max_future_position_size": 10,
"pm_max_future_open_order_size": 200,
"pm_max_option_open_contracts": 300,
"max_open_orders": 11,
"sm_max_open_orders_per_instrument": 20,
"pm_max_future_open_orders": 30,
"pm_max_option_open_orders": 40
}
]
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}{
"jsonrpc": "2.0",
"error": {
"code": 123,
"message": "<string>",
"data": "<unknown>"
},
"id": 123
}Authorizations
API key passed as a Bearer token. The authenticated session determines the portfolio that operations are applied to.
Query Parameters
Currency-pair name to return (for example BTC_USDC). Case-insensitive; separators such as _, -, and spaces are ignored. Omit to return every underlying that has a configured limit for this portfolio.
Response
Effective position limits for the authenticated portfolio. May be empty.
The JSON-RPC version (2.0)
2.0 Effective position limits, one entry per underlying. May be empty.
Hide child attributes
Hide child attributes
Currency-pair name (for example BTC_USDC). Pass this value back as the currency query parameter to read the same underlying.
"BTC_USDC"
Standard Margin: maximum net future position size if filled. USD notional for inverse contracts, quantity for linear contracts. Omitted when unset. -1 means unlimited.
10
Portfolio Margin: maximum total size of future open orders per side. USD notional for inverse contracts, quantity for linear contracts. Omitted when unset. -1 means unlimited.
200
Portfolio Margin: maximum total size of option open contracts per side, in contracts. Omitted when unset. -1 means unlimited.
300
Maximum open orders on derivatives across all instruments of this currency pair. Applies to both Standard Margin and Portfolio Margin. Omitted when unset. -1 means unlimited.
11
Standard Margin: maximum open orders per instrument. Omitted when unset. -1 means unlimited.
20
Portfolio Margin: maximum future open orders per side. Omitted when unset. -1 means unlimited.
30
Portfolio Margin: maximum option open orders per side. Omitted when unset. -1 means unlimited.
40
The id that was sent in the request
Was this page helpful?