ArcDeltaA TreVmS productAccount

ARCDELTA / API V1

Interface for market data.

HTTP for history and snapshots. WebSocket for continuous L2 and trade streams. One API key and shared plan limits.

BASE URLhttps://arcdelta.trevms.com/api/v1

AUTHENTICATION

Pass the API key

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

ArcDelta plan limits

These numbers are only the ArcDelta allowance. Terminal and Labs are metered separately on the same key.

PLANPER MINUTEPER DAYWS
Free6010 0000
Developer302 0002
Research12025 0005
Quant600250 00020
Pro1 8001 000 00050
Enterprise10 00020 000 000100

REST API

History and live slices

All timestamps are ISO 8601 UTC. Responses are JSON with data and selection metadata.

GET/instrumentsCatalog of available instruments
curl "$BASE/api/v1/instruments" -H "X-API-Key: $ARCDELTA_API_KEY"
GET/gold/ohlcvVerified Gold candles

symbol 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"
GET/metrics/latestLatest metrics set
curl "$BASE/api/v1/metrics/latest?symbol=ETHUSDT&timeframe=5m" \
  -H "X-API-Key: $ARCDELTA_API_KEY"
GET/realtime/tradesTrades from the last hour

symbol 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"
GET/realtime/l2Book snapshots from the last hour
curl "$BASE/api/v1/realtime/l2?symbol=BTCUSDT&limit=1" \
  -H "X-API-Key: $ARCDELTA_API_KEY"
GET/realtime/footprintBuy/sell volume by minute and price
curl "$BASE/api/v1/realtime/footprint?symbol=BTCUSDT&price_step=5" \
  -H "X-API-Key: $ARCDELTA_API_KEY"

WEBSOCKET

Stream without polling

After connect the server sends ready, then trade or l2 messages. Ping every 15 seconds. Connection count follows the plan.

WS/ws/tradesTrade stream
const 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/ws/l2L2 snapshot stream
wscat -c "wss://arcdelta.trevms.com/api/v1/ws/l2?symbol=BTCUSDT&api_key=$ARCDELTA_API_KEY"

ACCOUNT API

Account and keys

The cabinet uses session token ads_…. Market routes use key ad_live_….

POST/auth/register
POST/auth/login
GET/account
GET/account/usage
POST/account/keys
DELETE/account/keys/{id}
POST/account/plan-request
curl -X POST "$BASE/api/v1/account/keys" \
  -H "Authorization: Bearer $ARCDELTA_SESSION" \
  -H 'Content-Type: application/json' \
  -d '{"name":"TreVmS production"}'

ERRORS

Unified error shape

{ "error": "tariff request limit exceeded" }
CODEMEANING
400Invalid parameters
401Key missing or invalid
403Feature not in plan
404Instrument or resource not found
429Plan limit exhausted