Exchange
Exchange connectivity - validate credentials, list supported exchanges
Get Bnb Burn
Authorization
HTTPBearer In: header
Query Parameters
"binanceus"Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/bnb-burn"{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Set Bnb Burn
Authorization
HTTPBearer In: header
Request Body
application/json
True to pay spot trading fees with BNB (the fee discount).
Binance venue: 'binanceus' or 'binance'.
"binanceus"Response Body
application/json
application/json
curl -X POST "https://loading/api/exchange/bnb-burn" \ -H "Content-Type: application/json" \ -d '{ "spot_bnb_burn": true }'{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Dustable Assets
Authorization
HTTPBearer In: header
Query Parameters
"binanceus"Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/dust-assets"{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Validate Exchange
Authorization
HTTPBearer In: header
Request Body
application/json
Exchange name (binance, coinbase, kraken, etc.)
Exchange API key
Exchange API secret
Exchange API passphrase (if required)
Response Body
application/json
application/json
curl -X POST "https://loading/api/exchange/validate" \ -H "Content-Type: application/json" \ -d '{ "exchange": "string", "api_key": "string", "api_secret": "string" }'{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Markets
Authorization
HTTPBearer In: header
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/markets?exchange=string"{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Ticker
Authorization
HTTPBearer In: header
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/ticker?exchange=string&symbol=string"{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Supported Exchanges
Authorization
HTTPBearer In: header
Response Body
application/json
curl -X GET "https://loading/api/exchange/supported"{}Get Trade Route
Authorization
HTTPBearer In: header
Query Parameters
Base asset (e.g. BTC)
1 <= lengthQuote asset (e.g. USDT)
1 <= lengthOptional base-asset size — drops routes whose min_amount exceeds it.
Optional quote-currency notional — drops routes whose min_cost exceeds it.
Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/route?base=string"e=string"{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Exchange Info
Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/string/info"{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}List Credentials
Authorization
HTTPBearer In: header
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/credentials"{
"credentials": [
{
"id": "string",
"user_id": "string",
"exchange_name": "string",
"credential_name": "string",
"permissions": [
"string"
],
"ip_whitelist": [
"string"
],
"exchange_metadata": {},
"is_active": true,
"last_used": "2019-08-24T14:15:22Z",
"last_validation": "2019-08-24T14:15:22Z",
"validation_status": "string",
"validation_error": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"total_count": 0
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Store Credentials
Authorization
HTTPBearer In: header
Request Body
application/json
Exchange name (binance, binanceus, binance_us, coinbase, kraken, bybit, kucoin, bitfinex, okx, gate_io)
User-friendly name for this credential set
"Default"1 <= length <= 100Exchange API key (will be encrypted)
8 <= lengthExchange API secret (will be encrypted)
8 <= lengthExchange API passphrase (optional, required for some exchanges)
List of permissions: read, trade, withdraw
List of whitelisted IP addresses/CIDR ranges (e.g., ['1.2.3.4', '10.0.0.0/24'])
Exchange-specific configuration (e.g., {'testnet': true, 'use_us': true})
Response Body
application/json
application/json
curl -X POST "https://loading/api/exchange/credentials" \ -H "Content-Type: application/json" \ -d '{ "exchange_name": "string", "api_key": "stringst", "api_secret": "stringst" }'{
"id": "string",
"user_id": "string",
"exchange_name": "string",
"credential_name": "string",
"permissions": [
"string"
],
"ip_whitelist": [
"string"
],
"exchange_metadata": {},
"is_active": true,
"last_used": "2019-08-24T14:15:22Z",
"last_validation": "2019-08-24T14:15:22Z",
"validation_status": "string",
"validation_error": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Credential
Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/credentials/string"{
"id": "string",
"user_id": "string",
"exchange_name": "string",
"credential_name": "string",
"api_key_masked": "string",
"has_passphrase": true,
"permissions": [
"string"
],
"ip_whitelist": [
"string"
],
"exchange_metadata": {},
"is_active": true,
"last_used": "2019-08-24T14:15:22Z",
"last_validation": "2019-08-24T14:15:22Z",
"validation_status": "string",
"validation_error": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Delete Credential
Authorization
HTTPBearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://loading/api/exchange/credentials/string"{
"success": true,
"message": "string",
"deleted_id": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Update Credential
Authorization
HTTPBearer In: header
Path Parameters
Request Body
application/json
User-friendly name for this credential set
Exchange API key (will be encrypted)
Exchange API secret (will be encrypted)
Exchange API passphrase (optional)
List of permissions: read, trade, withdraw
List of whitelisted IP addresses/CIDR ranges
Exchange-specific configuration
Whether the credential is active
Response Body
application/json
application/json
curl -X PUT "https://loading/api/exchange/credentials/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"user_id": "string",
"exchange_name": "string",
"credential_name": "string",
"permissions": [
"string"
],
"ip_whitelist": [
"string"
],
"exchange_metadata": {},
"is_active": true,
"last_used": "2019-08-24T14:15:22Z",
"last_validation": "2019-08-24T14:15:22Z",
"validation_status": "string",
"validation_error": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Balance
Authorization
HTTPBearer In: header
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/balance?exchange=string"{
"balances": {
"property1": {
"currency": "string",
"free": 0,
"locked": 0,
"total": 0,
"sync_timestamp": "2019-08-24T14:15:22Z"
},
"property2": {
"currency": "string",
"free": 0,
"locked": 0,
"total": 0,
"sync_timestamp": "2019-08-24T14:15:22Z"
}
},
"exchange": "string",
"currency": "string",
"last_sync": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Sync Balance
Authorization
HTTPBearer In: header
Query Parameters
Response Body
application/json
application/json
curl -X POST "https://loading/api/exchange/balance/sync?exchange=string"{
"success": true,
"user_id": "string",
"exchange": "string",
"currencies_synced": 0,
"balances": {
"property1": {
"property1": 0,
"property2": 0
},
"property2": {
"property1": 0,
"property2": 0
}
},
"timestamp": "2019-08-24T14:15:22Z",
"error": "string",
"error_type": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Balance History
Authorization
HTTPBearer In: header
Query Parameters
100Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/balance/history?exchange=string¤cy=string"{
"history": [
{
"currency": "string",
"free": 0,
"locked": 0,
"total": 0,
"sync_timestamp": "2019-08-24T14:15:22Z",
"sync_status": "string"
}
],
"exchange": "string",
"currency": "string",
"total_records": 0
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Trades
Authorization
HTTPBearer In: header
Query Parameters
1000Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/trades?exchange=string"{
"trades": [
{
"id": "string",
"exchange_trade_id": "string",
"exchange": "string",
"symbol": "string",
"side": "string",
"price": 0,
"amount": 0,
"total": 0,
"fee": 0,
"fee_currency": "string",
"trade_timestamp": "2019-08-24T14:15:22Z",
"sync_status": "string",
"created_at": "2019-08-24T14:15:22Z"
}
],
"exchange": "string",
"symbol": "string",
"total_records": 0,
"has_more": false
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Sync Trades
Authorization
HTTPBearer In: header
Query Parameters
100Response Body
application/json
application/json
curl -X POST "https://loading/api/exchange/trades/sync?exchange=string"{
"success": true,
"user_id": "string",
"exchange": "string",
"symbol": "string",
"trades_synced": 0,
"trades_duplicate": 0,
"timestamp": "2019-08-24T14:15:22Z",
"error": "string",
"error_type": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Trade Stats
Authorization
HTTPBearer In: header
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/api/exchange/trades/stats"{
"total_trades": 0,
"buy_count": 0,
"sell_count": 0,
"total_volume": 0,
"total_fees": 0,
"synced_count": 0,
"failed_count": 0,
"first_trade": "2019-08-24T14:15:22Z",
"last_trade": "2019-08-24T14:15:22Z",
"exchange": "string",
"start_date": "2019-08-24T14:15:22Z",
"end_date": "2019-08-24T14:15:22Z"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get All Exchange Health
Query Parameters
falseResponse Body
application/json
application/json
curl -X GET "https://loading/api/exchange/health"{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Get Single Exchange Health
Path Parameters
Query Parameters
falseResponse Body
application/json
application/json
curl -X GET "https://loading/api/exchange/string/health"{}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}