adona-robot · market data by capacity

A live forex API, update by update

The live bid and ask of 46 currency pairs and 5 metals, each update as it arrives, and candles as they close from one second to one day, on one WebSocket opened from your server or from a browser, with the history behind them by REST.

What live means here
Each new bid and ask the feed receives is sent on the stream as it arrives, to a client that keeps reading, with no sampling into intervals. A candle frame is sent when its bar closes, and REST answers with the bar still forming, so a chart opened by REST starts from a current price.
Quotes and candles
quote:SYMBOL carries the bid and ask; candle:SYMBOL:TIMEFRAME carries bars on S1, M1, M5, M15, H1, H4, D1. One subscribe frame takes up to 64 channels, so a rates screen for dozens of pairs needs one connection.
From a browser, without your key
Your server exchanges the API key for a token per user that lives 12 hours; the page takes a single-use ticket from POST /v1/ws-ticket and opens the stream with it. The key never reaches the browser.
Market hours
Currency pairs trade from Sunday evening to Friday evening, and metals almost around the clock on weekdays. Outside those hours no price moves, so no quote is sent; each symbol's page gives its measured activity.
Connections are what you buy
A plan is priced by the month's peak of simultaneous connections, not by the number of messages: a busy hour on the stream costs nothing more than a quiet one. A paid plan never refuses a connection; the next invoice follows the peak.
The history behind it
Candles back in time by REST, up to 5 000 a page with a cursor: one-minute bars since 16.05.2025 for EURUSD, GBPUSD, USDJPY, XAUUSD, one-second bars kept 180 days rolling.
Showing it to your users
Display the prices in your product, relay them and keep them, on every paid plan. A symbol your connections follow live for more than 80% of its open hours in a month adds CHF 150 to the next invoice.
The trial
The free trial lasts 7 days, on EURUSD · XAUUSD, with 3 simultaneous connections, enough to wire the stream into one screen of your product.

Facts as of 06.10.2026.

First call

# 1. your server exchanges the key for a short-lived token
export ADONA_API_KEY="${ADONA_API_KEY:-adk_live_...}"
RESP=$(curl -s https://api.adona-robot.com/v1/tokens \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $ADONA_API_KEY" \
  -d '{"end_user_id":"u-42"}')
TOKEN=$(echo "$RESP" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4)
[ -n "$TOKEN" ] || echo "refused: $RESP"

# 2. the token reads candles
curl -s 'https://api.adona-robot.com/v1/candles?symbol=EURUSD&timeframe=S1&limit=1000' \
  -H "Authorization: Bearer $TOKEN"

The quickstart: from the key to the live stream, step by step

Start the free trial

Related guides

Pairs and metals