const res = await fetch('https://app.trdrs.co/api/trading/symbol-config', {
method: 'PUT',
headers: {
'content-type': 'application/json',
Authorization: `Bearer ${process.env.TRDRS_API_KEY}`,
},
body: JSON.stringify({
"instrument": "HYPERLIQUID:BTC",
"leverage": 10
}),
})
const data = await res.json()curl -X PUT 'https://app.trdrs.co/api/trading/symbol-config' \
-H "Authorization: Bearer $TRDRS_API_KEY" \
-H 'content-type: application/json' \
-d '{"instrument":"HYPERLIQUID:BTC","leverage":10}'import requests
url = "https://app.trdrs.co/api/trading/symbol-config"
payload = {
"instrument": "HYPERLIQUID:BTC",
"leverage": 10
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/trading/symbol-config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'instrument' => 'HYPERLIQUID:BTC',
'leverage' => 10
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://app.trdrs.co/api/trading/symbol-config"
payload := strings.NewReader("{\n \"instrument\": \"HYPERLIQUID:BTC\",\n \"leverage\": 10\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://app.trdrs.co/api/trading/symbol-config")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"instrument\": \"HYPERLIQUID:BTC\",\n \"leverage\": 10\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/trading/symbol-config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"instrument\": \"HYPERLIQUID:BTC\",\n \"leverage\": 10\n}"
response = http.request(request)
puts response.read_body{
"ok": true
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}Set leverage
Sets the leverage for one instrument at the provider. trdrs never changes a margin mode or a position mode: the trader changes those at the provider itself. Where the provider sets leverage and margin mode together, trdrs sends back the margin mode it just read.
Required key: Trading API key.
const res = await fetch('https://app.trdrs.co/api/trading/symbol-config', {
method: 'PUT',
headers: {
'content-type': 'application/json',
Authorization: `Bearer ${process.env.TRDRS_API_KEY}`,
},
body: JSON.stringify({
"instrument": "HYPERLIQUID:BTC",
"leverage": 10
}),
})
const data = await res.json()curl -X PUT 'https://app.trdrs.co/api/trading/symbol-config' \
-H "Authorization: Bearer $TRDRS_API_KEY" \
-H 'content-type: application/json' \
-d '{"instrument":"HYPERLIQUID:BTC","leverage":10}'import requests
url = "https://app.trdrs.co/api/trading/symbol-config"
payload = {
"instrument": "HYPERLIQUID:BTC",
"leverage": 10
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/trading/symbol-config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'instrument' => 'HYPERLIQUID:BTC',
'leverage' => 10
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://app.trdrs.co/api/trading/symbol-config"
payload := strings.NewReader("{\n \"instrument\": \"HYPERLIQUID:BTC\",\n \"leverage\": 10\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://app.trdrs.co/api/trading/symbol-config")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"instrument\": \"HYPERLIQUID:BTC\",\n \"leverage\": 10\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/trading/symbol-config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"instrument\": \"HYPERLIQUID:BTC\",\n \"leverage\": 10\n}"
response = http.request(request)
puts response.read_body{
"ok": true
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}Authorizations
The Trading API key (trdrs_sk_…), for market data, orders and account state on the accounts its owner holds. Use it server-to-server only, never in a browser. Its scope is named tenant in the API.
Query Parameters
The provider the account is at, such as rithmic or paper. Omit it to use your default provider. An unknown value is refused with 400, never replaced with another provider.
The account number at that provider. It must be one of your own accounts, or the call is refused with 400.
Body
Response
The leverage is set.
The confirmation a write returns when it has nothing else to say.
True when the write succeeded.