/instrumentsCatalog of available instrumentscurl "$BASE/api/v1/instruments" -H "X-API-Key: $ARCDELTA_API_KEY"
ArcDeltaA TreVmS productAccountARCDELTA / API V1
HTTP for history and snapshots. WebSocket for continuous L2 and trade streams. One API key and shared plan limits.
https://arcdelta.trevms.com/api/v1AUTHENTICATION
For REST use the X-API-Key header. For WebSocket you can pass api_key as a query param. The secret is shown once when created.
curl 'https://arcdelta.trevms.com/api/v1/gold/ohlcv?symbol=BTCUSDT&timeframe=1h' \
-H 'X-API-Key: trms_your_key'One TreVmS account key. Prefix trms_ (older keys tvms_ still work). ArcDelta checks only the ArcDelta quota. A spent Labs quota does not reject this call.
RATE LIMITS
These numbers are only the ArcDelta allowance. Terminal and Labs are metered separately on the same key.
REST API
All timestamps are ISO 8601 UTC. Responses are JSON with data and selection metadata.
/instrumentsCatalog of available instrumentscurl "$BASE/api/v1/instruments" -H "X-API-Key: $ARCDELTA_API_KEY"/gold/ohlcvVerified Gold candlessymbol BTCUSDT · timeframe 5m, 15m, 1h, 4h, 1d · limit 1–5000 · from/to ISO 8601
curl "$BASE/api/v1/gold/ohlcv?symbol=BTCUSDT&timeframe=1h&limit=200" \
-H "X-API-Key: $ARCDELTA_API_KEY"/metrics/latestLatest metrics setcurl "$BASE/api/v1/metrics/latest?symbol=ETHUSDT&timeframe=5m" \
-H "X-API-Key: $ARCDELTA_API_KEY"/realtime/tradesTrades from the last hoursymbol required · exchange optional · since no older than 60 minutes · limit up to 5000.
curl "$BASE/api/v1/realtime/trades?symbol=BTCUSDT&exchange=bybit&limit=500" \
-H "X-API-Key: $ARCDELTA_API_KEY"/realtime/l2Book snapshots from the last hourcurl "$BASE/api/v1/realtime/l2?symbol=BTCUSDT&limit=1" \
-H "X-API-Key: $ARCDELTA_API_KEY"/realtime/footprintBuy/sell volume by minute and pricecurl "$BASE/api/v1/realtime/footprint?symbol=BTCUSDT&price_step=5" \
-H "X-API-Key: $ARCDELTA_API_KEY"WEBSOCKET
After connect the server sends ready, then trade or l2 messages. Ping every 15 seconds. Connection count follows the plan.
/ws/tradesTrade streamconst url = 'wss://arcdelta.trevms.com/api/v1/ws/trades'
+ '?symbol=BTCUSDT&exchange=bybit&api_key=' + API_KEY;
const socket = new WebSocket(url);
socket.onmessage = ({ data }) => console.log(JSON.parse(data));/ws/l2L2 snapshot streamwscat -c "wss://arcdelta.trevms.com/api/v1/ws/l2?symbol=BTCUSDT&api_key=$ARCDELTA_API_KEY"ACCOUNT API
The cabinet uses session token ads_…. Market routes use key ad_live_….
/auth/register/auth/login/account/account/usage/account/keys/account/keys/{id}/account/plan-requestcurl -X POST "$BASE/api/v1/account/keys" \
-H "Authorization: Bearer $ARCDELTA_SESSION" \
-H 'Content-Type: application/json' \
-d '{"name":"TreVmS production"}'ERRORS
{ "error": "tariff request limit exceeded" }