PATCH /v2/trade/perps/leverage: Leverage and Margin
curl --request PATCH \
--url https://partner-api.bravadotrade.com/v2/trade/perps/leverage \
--header 'Content-Type: application/json' \
--data '
{
"instrument_id": 123,
"leverage": 123,
"cross": true,
"delta": "<string>"
}
'import requests
url = "https://partner-api.bravadotrade.com/v2/trade/perps/leverage"
payload = {
"instrument_id": 123,
"leverage": 123,
"cross": True,
"delta": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({instrument_id: 123, leverage: 123, cross: true, delta: '<string>'})
};
fetch('https://partner-api.bravadotrade.com/v2/trade/perps/leverage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://partner-api.bravadotrade.com/v2/trade/perps/leverage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'instrument_id' => 123,
'leverage' => 123,
'cross' => true,
'delta' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://partner-api.bravadotrade.com/v2/trade/perps/leverage"
payload := strings.NewReader("{\n \"instrument_id\": 123,\n \"leverage\": 123,\n \"cross\": true,\n \"delta\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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))
}HttpResponse<String> response = Unirest.patch("https://partner-api.bravadotrade.com/v2/trade/perps/leverage")
.header("Content-Type", "application/json")
.body("{\n \"instrument_id\": 123,\n \"leverage\": 123,\n \"cross\": true,\n \"delta\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.bravadotrade.com/v2/trade/perps/leverage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"instrument_id\": 123,\n \"leverage\": 123,\n \"cross\": true,\n \"delta\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyPerps
PATCH /v2/trade/perps/leverage: Leverage and Margin
Set leverage and margin mode for an instrument, and add or remove isolated margin, on Polymarket Perps. Scope trade.perps.
PATCH
/
v2
/
trade
/
perps
/
leverage
PATCH /v2/trade/perps/leverage: Leverage and Margin
curl --request PATCH \
--url https://partner-api.bravadotrade.com/v2/trade/perps/leverage \
--header 'Content-Type: application/json' \
--data '
{
"instrument_id": 123,
"leverage": 123,
"cross": true,
"delta": "<string>"
}
'import requests
url = "https://partner-api.bravadotrade.com/v2/trade/perps/leverage"
payload = {
"instrument_id": 123,
"leverage": 123,
"cross": True,
"delta": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({instrument_id: 123, leverage: 123, cross: true, delta: '<string>'})
};
fetch('https://partner-api.bravadotrade.com/v2/trade/perps/leverage', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://partner-api.bravadotrade.com/v2/trade/perps/leverage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'instrument_id' => 123,
'leverage' => 123,
'cross' => true,
'delta' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://partner-api.bravadotrade.com/v2/trade/perps/leverage"
payload := strings.NewReader("{\n \"instrument_id\": 123,\n \"leverage\": 123,\n \"cross\": true,\n \"delta\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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))
}HttpResponse<String> response = Unirest.patch("https://partner-api.bravadotrade.com/v2/trade/perps/leverage")
.header("Content-Type", "application/json")
.body("{\n \"instrument_id\": 123,\n \"leverage\": 123,\n \"cross\": true,\n \"delta\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.bravadotrade.com/v2/trade/perps/leverage")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"instrument_id\": 123,\n \"leverage\": 123,\n \"cross\": true,\n \"delta\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodySign each request with a fresh HMAC signature. The cURL and HTTP header values below are placeholders, not reusable credentials. For runnable signing code, use request signing examples.
Set leverage
Leverage is set per instrument, for the whole account. It is not an order field. Scopetrade.perps; Idempotency-Key is honoured.
PATCH https://partner-api.bravadotrade.com/v2/trade/perps/leverage
Body
integer
required
The venue instrument id.
integer
required
1 to 100, subject to your integration’s cap and the venue’s risk tiers.
boolean
required
true for cross margin, false for isolated.Errors
| Status | When |
|---|---|
400 Bad Request | INVALID_BODY: leverage above the instrument’s maximum, or cross: true on an isolated-only instrument. Refused before the venue |
409 Conflict | LEVERAGE_CAP_EXCEEDED: above your integration’s cap |
409 Conflict | POSITION_OR_ORDERS_EXIST: the margin mode cannot change while a position or orders exist |
409 Conflict | PERPS_HALTED: Bravado has halted perps, which stops leverage increases. Decreases keep working |
422 Unprocessable Entity | INVALID_LEVERAGE: the venue refused the leverage for the position’s risk tier |
Example
curl -X PATCH https://partner-api.bravadotrade.com/v2/trade/perps/leverage \
-H "X-BRAVADO-API-KEY: $BRAVADO_API_KEY" \
-H "X-BRAVADO-TIMESTAMP: <unix-ms>" \
-H "X-BRAVADO-SIGNATURE: <signature-for-this-request>" \
-H "Idempotency-Key: 9a4c2e7b-perps-leverage-0001" \
-H "Content-Type: application/json" \
-d '{ "instrument_id": 1, "leverage": 5, "cross": true }'
Add or remove isolated margin
PATCH https://partner-api.bravadotrade.com/v2/trade/perps/margin
trade.perps; Idempotency-Key is honoured.
Body
integer
required
The venue instrument id of the isolated position.
string
required
pUSD to add (positive) or remove (negative) from an isolated position. Signed decimal string.
delta) answers 409 PERPS_HALTED.
Example
curl -X PATCH https://partner-api.bravadotrade.com/v2/trade/perps/margin \
-H "X-BRAVADO-API-KEY: $BRAVADO_API_KEY" \
-H "X-BRAVADO-TIMESTAMP: <unix-ms>" \
-H "X-BRAVADO-SIGNATURE: <signature-for-this-request>" \
-H "Idempotency-Key: 1e6a9d4f-perps-margin-0001" \
-H "Content-Type: application/json" \
-d '{ "instrument_id": 1, "delta": "10" }'
Related
GET /v2/trade/perps/instrumentsfor the instruments.POST /v2/trade/perps/ordersto trade once leverage is set.