cURL
curl -X POST -H 'Authorization: Bearer $HD_KEY' -H 'content-type: application/json' -d '{"addresses":["0x…","0x…"]}' 'https://data.hyperdash.com/v1/accounts/batch'import requests
url = "https://data.hyperdash.com/v1/accounts/batch"
payload = {
"addresses": ["<string>"],
"dex": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({addresses: ['<string>'], dex: '<string>'})
};
fetch('https://data.hyperdash.com/v1/accounts/batch', 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://data.hyperdash.com/v1/accounts/batch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'addresses' => [
'<string>'
],
'dex' => '<string>'
]),
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://data.hyperdash.com/v1/accounts/batch"
payload := strings.NewReader("{\n \"addresses\": [\n \"<string>\"\n ],\n \"dex\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://data.hyperdash.com/v1/accounts/batch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"addresses\": [\n \"<string>\"\n ],\n \"dex\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.hyperdash.com/v1/accounts/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"addresses\": [\n \"<string>\"\n ],\n \"dex\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"address": "<string>",
"account_value": "<string>",
"total_notional": "<string>",
"total_margin_used": "<string>",
"cross_maintenance_margin_used": "<string>",
"withdrawable": "<string>",
"positions": 123,
"as_of": 123,
"equity": "<string>",
"spot_value": "<string>",
"staked_value": "<string>"
}
],
"has_more": true,
"next_cursor": "<string>",
"meta": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}Accounts
Account summaries of many wallets
Same rows as GET /v1/accounts/batch (margin summary on one dex, equity over every dex and spot) for up to your plan's batch size per call (Starter 250, Growth 1,000, Scale and Enterprise 10,000), sent as a JSON body {"addresses": [...], "dex"?: "xyz"}. Wallets the node could not read are listed in `meta.unavailable` (no row, not billed). Every wallet counts as queried: new wallets beyond your plan's daily / 30-day allowance are refused before anything runs (429 extraction_limit).
Pricing: base + per wallet + node reads. Scope: `accounts:read`.
POST
/
v1
/
accounts
/
batch
cURL
curl -X POST -H 'Authorization: Bearer $HD_KEY' -H 'content-type: application/json' -d '{"addresses":["0x…","0x…"]}' 'https://data.hyperdash.com/v1/accounts/batch'import requests
url = "https://data.hyperdash.com/v1/accounts/batch"
payload = {
"addresses": ["<string>"],
"dex": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({addresses: ['<string>'], dex: '<string>'})
};
fetch('https://data.hyperdash.com/v1/accounts/batch', 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://data.hyperdash.com/v1/accounts/batch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'addresses' => [
'<string>'
],
'dex' => '<string>'
]),
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://data.hyperdash.com/v1/accounts/batch"
payload := strings.NewReader("{\n \"addresses\": [\n \"<string>\"\n ],\n \"dex\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://data.hyperdash.com/v1/accounts/batch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"addresses\": [\n \"<string>\"\n ],\n \"dex\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.hyperdash.com/v1/accounts/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"addresses\": [\n \"<string>\"\n ],\n \"dex\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"address": "<string>",
"account_value": "<string>",
"total_notional": "<string>",
"total_margin_used": "<string>",
"cross_maintenance_margin_used": "<string>",
"withdrawable": "<string>",
"positions": 123,
"as_of": 123,
"equity": "<string>",
"spot_value": "<string>",
"staked_value": "<string>"
}
],
"has_more": true,
"next_cursor": "<string>",
"meta": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"code": "<string>",
"request_id": "<string>",
"detail": "<string>",
"hint": "<string>"
}Authorizations
hdk_sk_live_v1_… or hdk_sk_test_v1_…
Headers
Refuse (free) if the request could cost more.
Expected price version; 409 price_changed if it differs.
Body
application/json
Wallets (0x + 40 hex), distinct; at most your plan's batch size (Starter 250, Growth 1,000, Scale and Enterprise 10,000).
Required array length:
1 - 10000 elementsPattern:
^0x[0-9a-fA-F]{40}$Builder dex (e.g. xyz). Omit for the core exchange.
Pattern:
^[a-z0-9]{1,16}$
