curl --request POST \
--url https://api.hotstuff.trade/info \
--header 'Content-Type: application/json' \
--data '{
"method": "account_summary",
"params": {
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}'
import requests
url = "https://api.hotstuff.trade/info"
payload = {
"method": "account_summary",
"params": {
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}
response = requests.post(url, json=payload)
print(response.json())
const url = "https://api.hotstuff.trade/info";
const payload = {
method: "account_summary",
params: {
user: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
},
};
fetch(url, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
})
.then((response) => response.json())
.then((data) => console.log(data));
<?php
$url = "https://api.hotstuff.trade/info";
$payload = json_encode([
"method" => "account_summary",
"params" => [
"user" => "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
]
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.hotstuff.trade/info"
payload := map[string]interface{}{
"method": "account_summary",
"params": map[string]string{
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
},
}
jsonData, _ := json.Marshal(payload)
resp, _ := http.Post(url, "application/json", bytes.NewBuffer(jsonData))
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.*;
URL url = new URL("https://api.hotstuff.trade/info");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"method\":\"account_summary\",\"params\":{\"user\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"}}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String response = in.readLine();
System.out.println(response);
require 'net/http'
require 'json'
uri = URI('https://api.hotstuff.trade/info')
payload = {
method: "account_summary",
params: {
user: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path, 'Content-Type' => 'application/json')
request.body = payload.to_json
response = http.request(request)
puts JSON.parse(response.body)
{
"address": "0x42C183edba036906447372a7c81Eb89D0B9f2175",
"margin_mode": "cross",
"multi_asset_mode": false,
"hedge_mode": false,
"spot_collateral": {
"USDC": {
"balance": 2985.5150005,
"withdrawable_balance": 2985.5150005
},
"USDT": {
"balance": 2351.2922,
"withdrawable_balance": 2351.2922
}
},
"collateral": {
"USDC": {
"balance": 722.080604,
"withdrawable_balance": 717.699421
}
},
"vault_balances": {
"0xdE66c594AF8e4AD2C62DcFadCb6714F8b176A4ef": {
"withdrawable_shares": 0.000002,
"total_shares": 0.000002,
"amount": 1.3209
}
},
"staked_collateral": 0,
"perp_positions": {
"BTC-PERP": {
"position_type": "oneWay",
"legs": [
{
"instrument_id": 1,
"instrument_name": "BTC-PERP",
"side": "BOTH",
"size": 0.00282,
"entry_price": 76740.5,
"leverage": {
"type": "isolated",
"value": 50
},
"position_value": 216.40821
}
],
"liquidation_price": 75973,
"mm": 2.217101,
"im": 4.381183,
"upnl": -0.71487
}
},
"initial_margin_utilization": 0.006067,
"maintenance_margin_utilization": 0.00307,
"upnl": -0.71487,
"total_account_equity": 6057.39466341,
"margin_balance": 722.080604,
"initial_margin": 4.381183,
"maintenance_margin": 2.217101,
"total_volume": 21901045,
"total_pnl": 50287.895644,
"available_balance": 717.699421,
"transfer_margin_req": 4.381183,
"max_drawdown": 0.417427,
"spot_account_equity": 5335.31405941,
"derivative_account_equity": 722.080604,
"spot_volume": 2968
}{
"error": "<error message>"
}Accounts
account_summary
Send POST request to /info with method: “account_summary”
POST
/
info
curl --request POST \
--url https://api.hotstuff.trade/info \
--header 'Content-Type: application/json' \
--data '{
"method": "account_summary",
"params": {
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}'
import requests
url = "https://api.hotstuff.trade/info"
payload = {
"method": "account_summary",
"params": {
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}
response = requests.post(url, json=payload)
print(response.json())
const url = "https://api.hotstuff.trade/info";
const payload = {
method: "account_summary",
params: {
user: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
},
};
fetch(url, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
})
.then((response) => response.json())
.then((data) => console.log(data));
<?php
$url = "https://api.hotstuff.trade/info";
$payload = json_encode([
"method" => "account_summary",
"params" => [
"user" => "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
]
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.hotstuff.trade/info"
payload := map[string]interface{}{
"method": "account_summary",
"params": map[string]string{
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
},
}
jsonData, _ := json.Marshal(payload)
resp, _ := http.Post(url, "application/json", bytes.NewBuffer(jsonData))
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.*;
URL url = new URL("https://api.hotstuff.trade/info");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"method\":\"account_summary\",\"params\":{\"user\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"}}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String response = in.readLine();
System.out.println(response);
require 'net/http'
require 'json'
uri = URI('https://api.hotstuff.trade/info')
payload = {
method: "account_summary",
params: {
user: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path, 'Content-Type' => 'application/json')
request.body = payload.to_json
response = http.request(request)
puts JSON.parse(response.body)
{
"address": "0x42C183edba036906447372a7c81Eb89D0B9f2175",
"margin_mode": "cross",
"multi_asset_mode": false,
"hedge_mode": false,
"spot_collateral": {
"USDC": {
"balance": 2985.5150005,
"withdrawable_balance": 2985.5150005
},
"USDT": {
"balance": 2351.2922,
"withdrawable_balance": 2351.2922
}
},
"collateral": {
"USDC": {
"balance": 722.080604,
"withdrawable_balance": 717.699421
}
},
"vault_balances": {
"0xdE66c594AF8e4AD2C62DcFadCb6714F8b176A4ef": {
"withdrawable_shares": 0.000002,
"total_shares": 0.000002,
"amount": 1.3209
}
},
"staked_collateral": 0,
"perp_positions": {
"BTC-PERP": {
"position_type": "oneWay",
"legs": [
{
"instrument_id": 1,
"instrument_name": "BTC-PERP",
"side": "BOTH",
"size": 0.00282,
"entry_price": 76740.5,
"leverage": {
"type": "isolated",
"value": 50
},
"position_value": 216.40821
}
],
"liquidation_price": 75973,
"mm": 2.217101,
"im": 4.381183,
"upnl": -0.71487
}
},
"initial_margin_utilization": 0.006067,
"maintenance_margin_utilization": 0.00307,
"upnl": -0.71487,
"total_account_equity": 6057.39466341,
"margin_balance": 722.080604,
"initial_margin": 4.381183,
"maintenance_margin": 2.217101,
"total_volume": 21901045,
"total_pnl": 50287.895644,
"available_balance": 717.699421,
"transfer_margin_req": 4.381183,
"max_drawdown": 0.417427,
"spot_account_equity": 5335.31405941,
"derivative_account_equity": 722.080604,
"spot_volume": 2968
}{
"error": "<error message>"
}Retrieve comprehensive account summary including positions, balances, margin information, and account equity for a user.
curl --request POST \
--url https://api.hotstuff.trade/info \
--header 'Content-Type: application/json' \
--data '{
"method": "account_summary",
"params": {
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}'
import requests
url = "https://api.hotstuff.trade/info"
payload = {
"method": "account_summary",
"params": {
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}
response = requests.post(url, json=payload)
print(response.json())
const url = "https://api.hotstuff.trade/info";
const payload = {
method: "account_summary",
params: {
user: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
},
};
fetch(url, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
})
.then((response) => response.json())
.then((data) => console.log(data));
<?php
$url = "https://api.hotstuff.trade/info";
$payload = json_encode([
"method" => "account_summary",
"params" => [
"user" => "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
]
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.hotstuff.trade/info"
payload := map[string]interface{}{
"method": "account_summary",
"params": map[string]string{
"user": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
},
}
jsonData, _ := json.Marshal(payload)
resp, _ := http.Post(url, "application/json", bytes.NewBuffer(jsonData))
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.*;
URL url = new URL("https://api.hotstuff.trade/info");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"method\":\"account_summary\",\"params\":{\"user\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\"}}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String response = in.readLine();
System.out.println(response);
require 'net/http'
require 'json'
uri = URI('https://api.hotstuff.trade/info')
payload = {
method: "account_summary",
params: {
user: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
}
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path, 'Content-Type' => 'application/json')
request.body = payload.to_json
response = http.request(request)
puts JSON.parse(response.body)
Response
Successful response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes