One signed REST API covering the entire TradeMire platform: public market data (markets, assets, exchanges, chains, macro indicators) and your private vaults, strategies, nodes, and orders - all authenticated with HMAC-SHA256 and paginated throughout.
Base URLhttps://trademire.ai/api/v1
Path prefix/v1/{apiKey}
Versionv1
AuthHMAC-SHA256
Rate limitVaries per endpoint
SDK@trademire/platform-api
GETTING STARTED · QUICK START
Quick Start
Three steps to your first signed call: install the SDK, set your credentials, and call markets.list().
1 - Install the SDK
npm install @trademire/platform-api
2 - Configure the client
import { PlatformApiClient } from "@trademire/platform-api";
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY, // only required for private endpoints
});
3 - Make your first call
let res = await client.markets.list({ pagination: { page: 1, limit: 10 } });
if (!res.success) {
console.error("Auth or upstream failure:", res.message);
} else {
for (let m of res.items) {
console.log(m.pair, m.lastPrice, m.priceQuote);
}
}
The SDK signs each request, attaches the required headers, and parses the JSON response - you never touch the signing primitives. To call the API without the SDK (cURL, custom HTTP clients, other languages), see Authentication below for the manual signing recipe.
GETTING STARTED · AUTHENTICATION
Authentication
Every Platform API request is signed with HMAC-SHA256 over the raw JSON request body. Three auth headers travel with each request: an API key, the signature, and a timestamp valid for 5 minutes. Public endpoints need only these three; private endpoints additionally require a poolKey in the body to scope the call to your pool.
Each endpoint declares an HTTP method: GET for body-less reads, POST for body-carrying queries (list, search, OHLC), and PUT for state-changing writes (set runtime profile, lifecycle actions). The SDK signs and dispatches the documented method automatically; raw HTTP callers must use the verb declared on each endpoint.
What gets signed
// Generate HMAC-SHA256 signature from the raw request body as lowercase hex
signature = HMAC_SHA256(apiSecret, requestBody).toHex()
Only the raw JSON body is signed. Path, {apiKey}, query string, and timestamp are not part of the signed payload. The body must be byte-identical to what you transmit - serialize once, sign that exact string, and send it as the request body.
When you build the body, sort object keys in ascending alphabetical order (canonical JSON). Arrays keep their declared order and undefined values are dropped. The SDK applies this automatically; manual signers must match it byte for byte or the signature will not verify.
Required headers
Name
Required
Description
Content-Type
required
Must be application/json.
X-API-Key
required
Public identifier of the API key issued from the platform dashboard. Never share the matching secret.
X-API-Signature
required
Lowercase hex-encoded HMAC-SHA256 of the raw request body, computed with the API secret as key.
X-API-Timestamp
required
Request creation time in Unix epoch milliseconds. Server rejects timestamps outside a 5-minute drift window (replay protection).
Request URL
Every endpoint follows the same shape:
POST/:path
Every endpoint sits under /v1/{apiKey}. The {apiKey} path component is your public API key (the same value sent in the X-API-Key header) and is not part of the signed payload.
Signing the request
Compute the HMAC over the exact byte sequence of the body you transmit. Pick your language:
import crypto from "crypto";
// 1. Build the request body and per-request metadata
let apiKey = process.env.API_KEY;
let body = JSON.stringify({ pagination: { page: 1, limit: 50 } });
let timestamp = Date.now().toString();
// 2. Sign the raw body with HMAC-SHA256 using your API secret
let signature = crypto
.createHmac("sha256", process.env.API_SECRET)
.update(body)
.digest("hex");
// 3. Send the signed request with all four required auth headers
let res = await fetch(`https://trademire.ai/api/v1/${apiKey}/markets/list`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": apiKey,
"X-API-Signature": signature,
"X-API-Timestamp": timestamp,
},
body,
});
For any authentication failure - missing header, malformed signature, expired timestamp, suspended key, blocked IP, or unauthorized category - the server returns the same generic MessageAccessForbidden response. The specific reason is intentionally not surfaced to the caller (prevents credential enumeration and oracle attacks). Inspect your local request before retrying:
Is the body byte-identical to the string you signed? Re-serialize whitespace and key order can both break the hash.
Is your local clock within 5 minutes of UTC? X-API-Timestamp is in milliseconds, not seconds.
Did you sign with the API secret (not the API key)?
Is the signature lowercase hex (0-9a-f)?
Is your IP in your key's allowlist (if you configured one in the dashboard)?
GETTING STARTED · ERRORS
Errors
These error codes apply to every endpoint. Each error response carries a rayId you can quote when contacting support.
Code
Description
MessageAccessForbidden
Returned for any authentication failure.
MessageMissingParameter
A required URL parameter (e.g. :pair on per-market endpoints) is absent, malformed, or fails the alphanumeric / length validation.
MessageRateLimitExceeded
Per-key rate limit for this endpoint has been exceeded. Inspect the Retry-After response header before retrying.
MessageInternalError
An unexpected internal error occurred. The response includes a rayId you can quote when contacting support.
PUBLIC · MARKETS
List Markets
Returns the canonical lean listing of every market currently tracked by the platform. Each entry carries the latest aggregated price across venues, the quote currency the price is denominated in, and a flag indicating whether the market is active. Use the body to apply filtering, sorting, and pagination - per-pair detail (full ticker, listing, limit, profile, OHLC) lives on the sharded /market/:pair/* endpoints.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.markets.getTicker("BTC_USDT");
// 3. Inspect the parsed response
console.log(res);
Response schema
ticker
Field
Type
Description
isActive
boolean
Whether the market is active on the venue.
apiTrading
boolean
Whether API trading is enabled.
lastPrice
number
Last traded price.
highPrice24h
number
Highest trade price in the last 24 hours.
lowPrice24h
number
Lowest trade price in the last 24 hours.
change
number
Absolute price change over 24h (in quote currency).
Returns ticker data for the same trading pair broken out across every venue that lists it - useful for arbitrage, trust-score checks, and routing decisions.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.markets.getTickerExchanges("BTC_USDT");
// 3. Inspect the parsed response
console.log(res);
Response schema
items[]
Each item shares the ticker shape from Get Market Ticker, with the venue identifier surfaced via the exchangeKey field.
Returns the listing-availability shape for a single market - a compact set of flags describing whether the pair is listed, active, openly tradable, and whether margin trading is supported.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.markets.getListing("BTC_USDT");
// 3. Inspect the parsed response
console.log(res);
Returns the sanitized trading limits and fees for a single market: precision, price/quantity bounds, tick sizes, notional bounds, and maker/taker fee rates.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.markets.getLimit("BTC_USDT");
// 3. Inspect the parsed response
console.log(res);
Returns the market profile shape: tags plus the same listing/activity metadata as Get Market Listing. Use this when you want descriptive metadata alongside availability flags in a single call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.markets.getProfile("BTC_USDT");
// 3. Inspect the parsed response
console.log(res);
Returns OHLC candle series for a single market. Defaults to aggLast (last-trade) candles, with aggVol available for volume candles. Timeframe and time range are passed in the body.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.markets.getOhlc("BTC_USDT", { timeframe: "day" });
// 3. Inspect the parsed response
console.log(res);
Returns a structured JSON map of every endpoint in the Markets category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.markets.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
Canonical lean listing of every asset tracked by the platform - last aggregated price, asset type, and listing status. Filtering, sorting, and pagination are supported.
POST/assets/list
AuthHMAC-SHA256Rate limit15 req/minPagination
Body parameters
Same shape as List Markets: filtering, sorting, pagination. Search matches the asset symbol and name fields.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.assets.list({ pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.assets.get("BTC");
// 3. Inspect the parsed response
console.log(res);
Response schema
asset
Field
Type
Description
assetType / isListed
string / bool
Type and listing flag.
lastPrice / priceQuote
number / string
Latest aggregated price and its quote currency.
volume24h / change24h / dominance
number
24h volume, percent change, and market dominance share.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.assets.getProfile("BTC");
// 3. Inspect the parsed response
console.log(res);
Response schema
profile
Field
Type
Description
description
string
Asset description text.
supplyCirculating / supplyTotal / supplyMax
number
Supply figures.
urls
array
Array of { key, value } URL entries (social, web, explorer).
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.assets.getOhlc("BTC", { timeframe: "day" });
// 3. Inspect the parsed response
console.log(res);
Returns a structured JSON map of every endpoint in the Assets category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.assets.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
Returns all tracked exchanges with unified listing data: number of assets and markets, 24h volume, trust score and rank, country, year established, capabilities, and dominance.
POST/exchanges/list
AuthHMAC-SHA256Rate limit15 req/minPagination
Body parameters
Name
Type
Required
Description
filtering
object
optional
List filter object: search?: string, where?: { field, op, value }[].
sorting
object
optional
Sort object: { field, direction }. Direction is asc or desc.
pagination
object
optional
Page-based pagination: { page: number, limit: number }. page is 1-based; limit is between 10 and 100 (default 10). Response carries { currentPage, totalPages, pageSize, totalRows }.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.list({ pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.get("binance");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.listProfiles({ pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getProfile("binance");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getOhlc("binance", { timeframe: "day" });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.listMarkets("binance", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.listMarketsTickers("binance", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
Response schema
items[]
Each item carries marketKey, localPair, baseSymbol, quoteSymbol, lastPrice, highPrice24h, lowPrice24h, change, volume, bidPrice, askPrice, spread, and isActive.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getMarketsOhlc("binance", { pagination: { page: 1, limit: 50 }, timeframe: "day" });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.listMarketsLimits("binance", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getMarket("binance", "BTCUSDT");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getMarketTicker("binance", "BTCUSDT");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getMarketProfile("binance", "BTCUSDT");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getMarketOhlc("binance", "BTCUSDT", { timeframe: "day" });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.listAssets("binance", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.listAssetsTickers("binance", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.listAssetsLimits("binance", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getAsset("binance", "BTC");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getAssetProfile("binance", "BTC");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.getAssetOhlc("binance", "BTC", { timeframe: "day" });
// 3. Inspect the parsed response
console.log(res);
Returns a structured JSON map of every endpoint in the Exchanges category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.exchanges.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.list({ pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.get("ethereum");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.getProfile("ethereum");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.listGasPrices();
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.getGasPrice("ethereum");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.getGasOhlc("ethereum", { timeframe: "day" });
// 3. Inspect the parsed response
console.log(res);
Returns the token list for a specific chain, including ERC-20-style metadata. Filtering, sorting, and pagination supported.
POST/chain/:chainId/tokens
AuthHMAC-SHA256Rate limit10 req/minPagination
Body parameters
Name
Type
Required
Description
filtering
object
optional
List filter object: search?: string, where?: { field, op, value }[].
sorting
object
optional
Sort object: { field, direction }. Direction is asc or desc.
pagination
object
optional
Page-based pagination: { page: number, limit: number }. page is 1-based; limit is between 10 and 100 (default 10). Response carries { currentPage, totalPages, pageSize, totalRows }.
Related endpoints
Single token: POST /v1/chain/:chainId/token/:tokenAddress
Holders: POST /v1/chain/:chainId/token/:tokenAddress/holders
Transfers: POST /v1/chain/:chainId/token/:tokenAddress/transfers
Wallet portfolio: POST /v1/chain/:chainId/wallet/:walletAddress/portfolio
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.listTokens("ethereum", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.getToken("ethereum", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.listTokenHolders("ethereum", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.getTokenHolder("ethereum", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.listTokenTransfers("ethereum", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.getTokenTransfer("ethereum", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0x1234abcd5678ef901234567890abcdef1234567890abcdef1234567890abcdef");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.getWalletPortfolio("ethereum", "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1");
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.getWalletBalance("ethereum", "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48");
// 3. Inspect the parsed response
console.log(res);
Returns a structured JSON map of every endpoint in the Chains category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.chains.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
Returns every macro indicator type tracked by the platform (e.g. reference rates, volatility indices). Use the returned macroType keys with the values and OHLC endpoints below.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.macro.types();
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.macro.getValues("reference-rates", { pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.macro.getValue("reference-rates", { country: "TR" });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.macro.getOhlc("reference-rates", { timeframe: "day", country: "TR" });
// 3. Inspect the parsed response
console.log(res);
Response schema
macro-ohlc[":macroType"]
Field
Type
Description
timeframe
string
SnapshotManager sampler key for the OHLC bucket
series
array
OHLC bars: {tOpen, tClose, open, high, low, close}. For sparse macro observations the bar is degenerate (open = high = low = close = value).
Returns a structured JSON map of every endpoint in the Macro category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
});
// 2. Send the signed request through the typed SDK method
let res = await client.macro.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.vaults.list({ poolKey, pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.vaults.getSummary("vlt-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.vaults.get("vlt-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
Returns the runtime profile for a vault as { profile: object, hash: string }. The hash lets clients short-circuit re-rendering when the profile is unchanged.
POST/vault/:vaultId/runtime-profile
AuthHMAC + poolKeyRate limit60 req/min
Body parameters
Name
Type
Required
Description
poolKey
string
optional
Override the client-default pool key for this call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.vaults.getRuntimeProfile("vlt-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.vaults.setRuntimeProfile("vlt-abc123", { poolKey, profile: {} });
// 3. Inspect the parsed response
console.log(res);
Response Example
200 OKAPPLICATION/JSON
{
"success": true
}
PRIVATE · VAULTS
Vault Action
Sets the lifecycle state of a vault to the requested action (deploy|start|pause|stop|undeploy|reconfigure|unpark|reply-to-prompt|execute-flow|cancel-flow|query-flow).
PUT/vaults/action
AuthHMAC + poolKeyRate limit5 req/min
Body parameters
Name
Type
Required
Description
vaultId
string
required
Vault identifier.
action
string
required
Action key (e.g. deploy, start, pause, stop).
poolKey
string
optional
Override the client-default pool key for this call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.vaults.action({ poolKey, vaultId: "vlt-abc123", action: "deploy" });
// 3. Inspect the parsed response
console.log(res);
Response Example
200 OKAPPLICATION/JSON
{
"success": true
}
PRIVATE · VAULTS
Vaults Help Map
Returns a structured JSON map of every endpoint in the Vaults category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.vaults.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.strategies.list({ poolKey, pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.strategies.getSummary("str-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
Returns the full strategy detail by id - configuration, signal pipeline, exposure rules, and runtime status. Pair with POST /v1/strategy/:strategyId/runtime-profile to fetch the runtime side.
POST/strategy/:strategyId
AuthHMAC + poolKeyRate limit60 req/min
Body parameters
Name
Type
Required
Description
poolKey
string
optional
Override the client-default pool key for this call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.strategies.get("str-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.strategies.getRuntimeProfile("str-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
Response schema
strategy-runtime-profile[":strategyId"]
Field
Type
Description
profile
object
Runtime profile JSON payload
hash
string
Content hash for optimistic concurrency
controlDetails
object
Control details blob from the parent strategy row
tuneProfile
boolean
Whether the strategy has profile tuning capabilities activated. When false, runtime profile updates are rejected.
Replaces the runtime profile of a strategy with the provided payload (optimistic via expectedHash; rejected when the strategy has no profile tuning capabilities activated).
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.strategies.setRuntimeProfile("str-abc123", { poolKey, profile: {} });
// 3. Inspect the parsed response
console.log(res);
Response Example
200 OKAPPLICATION/JSON
{
"success": true
}
PRIVATE · STRATEGIES
Strategy Action
Sets the lifecycle state of a strategy to the requested action (deploy|start|pause|stop|undeploy|reconfigure|hard-restart|enable-console|disable-console|unpark|execute-flow|cancel-flow|query-flow).
PUT/strategies/action
AuthHMAC + poolKeyRate limit5 req/min
Body parameters
Name
Type
Required
Description
strategyId
string
required
Strategy identifier.
action
string
required
Action key (e.g. deploy, start, pause, stop).
poolKey
string
optional
Override the client-default pool key for this call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.strategies.action({ poolKey, strategyId: "str-abc123", action: "deploy" });
// 3. Inspect the parsed response
console.log(res);
Response Example
200 OKAPPLICATION/JSON
{
"success": true
}
PRIVATE · STRATEGIES
Strategies Help Map
Returns a structured JSON map of every endpoint in the Strategies category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.strategies.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.nodes.list({ poolKey, pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.nodes.getSummary("nod-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
Returns the full node detail by id - configuration, attached strategies, and runtime status. Use POST /v1/nodes/action to drive lifecycle (start, stop, restart) on the node.
POST/node/:nodeId
AuthHMAC + poolKeyRate limit60 req/min
Body parameters
Name
Type
Required
Description
poolKey
string
optional
Override the client-default pool key for this call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.nodes.get("nod-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.nodes.getRuntimeProfile("nod-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.nodes.setRuntimeProfile("nod-abc123", { poolKey, profile: {} });
// 3. Inspect the parsed response
console.log(res);
Response Example
200 OKAPPLICATION/JSON
{
"success": true
}
PRIVATE · NODES
Node Action
Sets the lifecycle state of a node to the requested action (deploy|start|pause|stop|undeploy|hard-restart|reconfigure|enable-console|disable-console|park|unpark|custom|execute-flow|cancel-flow|query-flow).
PUT/nodes/action
AuthHMAC + poolKeyRate limit5 req/min
Body parameters
Name
Type
Required
Description
nodeId
string
required
Node identifier.
action
string
required
Action key (e.g. deploy, start, pause, stop).
poolKey
string
optional
Override the client-default pool key for this call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.nodes.action({ poolKey, nodeId: "nod-abc123", action: "deploy" });
// 3. Inspect the parsed response
console.log(res);
Response Example
200 OKAPPLICATION/JSON
{
"success": true
}
PRIVATE · NODES
Nodes Help Map
Returns a structured JSON map of every endpoint in the Nodes category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.nodes.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.servers.list({ poolKey, pagination: { page: 1, limit: 50 } });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.servers.getSummary("srv-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
Returns the full server detail by id - hardware profile, network state, and runtime status. Pair with POST /v1/servers/action for lifecycle operations.
POST/server/:serverId
AuthHMAC + poolKeyRate limit60 req/min
Body parameters
Name
Type
Required
Description
poolKey
string
optional
Override the client-default pool key for this call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.servers.get("srv-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.servers.getRuntimeProfile("srv-abc123", { poolKey });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.servers.setRuntimeProfile("srv-abc123", { poolKey, profile: {} });
// 3. Inspect the parsed response
console.log(res);
Response Example
200 OKAPPLICATION/JSON
{
"success": true
}
PRIVATE · SERVERS
Server Action
Sets the lifecycle state of a server to the requested action (deploy|start|pause|stop|undeploy|hard-restart|reconfigure|enable-console|disable-console|spawn-node|kill-node|park|unpark|custom).
PUT/servers/action
AuthHMAC + poolKeyRate limit5 req/min
Body parameters
Name
Type
Required
Description
serverId
string
required
Server identifier.
action
string
required
Action key (e.g. deploy, start, pause, stop).
poolKey
string
optional
Override the client-default pool key for this call.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.servers.action({ poolKey, serverId: "srv-abc123", action: "deploy" });
// 3. Inspect the parsed response
console.log(res);
Response Example
200 OKAPPLICATION/JSON
{
"success": true
}
PRIVATE · SERVERS
Servers Help Map
Returns a structured JSON map of every endpoint in the Servers category - HTTP method, description, rate limit, required and optional parameters, plus the field groups each endpoint returns. Useful for SDK and agent introspection.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.servers.help();
// 3. Inspect the parsed response
console.log(res);
Response Schema
Field
Type
Description
success
boolean
Whether the call succeeded.
category
string
The category this help map describes.
help
object
Help map container. paths maps each endpoint path to its metadata (HTTP method, description, rate limit, required and optional parameters, isListing flag when applicable, and the field groups it references). fieldGroups maps each group name to its field descriptors (type and description) referenced from the path entries.
Returns the order history for a pool, scoped by the bound API key permissions. Supports search, sorting, and pagination; use the filter object to scope by status, market, or date range.
POST/orders/list
AuthHMAC + poolKeyRate limit30 req/min
Body parameters
Name
Type
Required
Description
poolKey
string
optional
Override the client-default pool key for this call.
filtering
object
optional
List filter object: search?: string, where?: { field, op, value }[].
sorting
object
optional
Sort object: { field, direction }. Direction is asc or desc.
pagination
object
optional
Page-based pagination: { page: number, limit: number }. page is 1-based; limit is between 10 and 100 (default 10). Response carries { currentPage, totalPages, pageSize, totalRows }.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.trading.orders.list({ poolKey });
// 3. Inspect the parsed response
console.log(res);
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.trading.orders.get("ord-abc123", poolKey);
// 3. Inspect the parsed response
console.log(res);
Returns the trade history for a pool. Each item is a fill (maker or taker) with price, quantity, fee, role, and the parent order id. Standard search / sort / pagination supported.
POST/trades/list
AuthHMAC + poolKeyRate limit30 req/min
Body parameters
Name
Type
Required
Description
poolKey
string
optional
Override the client-default pool key for this call.
filtering
object
optional
List filter object: search?: string, where?: { field, op, value }[].
sorting
object
optional
Sort object: { field, direction }. Direction is asc or desc.
pagination
object
optional
Page-based pagination: { page: number, limit: number }. page is 1-based; limit is between 10 and 100 (default 10). Response carries { currentPage, totalPages, pageSize, totalRows }.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.trading.trades.list({ poolKey });
// 3. Inspect the parsed response
console.log(res);
Returns balances per asset for a pool. Each item carries available (free for new orders), locked (reserved by open orders), and total. Standard search / sort / pagination supported.
POST/balances/list
AuthHMAC + poolKeyRate limit30 req/min
Body parameters
Name
Type
Required
Description
poolKey
string
optional
Override the client-default pool key for this call.
filtering
object
optional
List filter object: search?: string, where?: { field, op, value }[].
sorting
object
optional
Sort object: { field, direction }. Direction is asc or desc.
pagination
object
optional
Page-based pagination: { page: number, limit: number }. page is 1-based; limit is between 10 and 100 (default 10). Response carries { currentPage, totalPages, pageSize, totalRows }.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.trading.balances.list({ poolKey });
// 3. Inspect the parsed response
console.log(res);
Returns the on/off-ramp ledger for a pool: deposits, withdrawals, and platform fees. Each item carries type, asset, amount, status, and an optional on-chain tx hash. Standard search / sort / pagination supported.
POST/transactions/list
AuthHMAC + poolKeyRate limit30 req/min
Body parameters
Name
Type
Required
Description
poolKey
string
optional
Override the client-default pool key for this call.
filtering
object
optional
List filter object: search?: string, where?: { field, op, value }[].
sorting
object
optional
Sort object: { field, direction }. Direction is asc or desc.
pagination
object
optional
Page-based pagination: { page: number, limit: number }. page is 1-based; limit is between 10 and 100 (default 10). Response carries { currentPage, totalPages, pageSize, totalRows }.
import { PlatformApiClient } from "@trademire/platform-api";
// 1. Configure the client with your API credentials
let client = new PlatformApiClient({
baseUrl: "https://trademire.ai/api/v1",
apiKey: process.env.API_KEY!,
apiSecret: process.env.API_SECRET!,
poolKey: process.env.POOL_KEY,
});
// 2. Send the signed request through the typed SDK method
let res = await client.trading.transactions.list({ poolKey });
// 3. Inspect the parsed response
console.log(res);
Response schema
transaction[":transactionId"]
Field
Type
Description
type
string
Transaction type (deposit, withdrawal, fee, ...)
symbol
string
Asset symbol
amount
number
Transaction amount
fee
number
Network or platform fee
status
string
Transaction status (pending, confirmed, failed, ...)