adona-robot · market data by capacity

Tick volume in forex

Spot currencies and metals trade over the counter, with no central exchange to report a market-wide traded amount. What a forex candle carries as its volume is a tick volume: the number of times the price was updated during the bar.

What is counted
Every update of the price the feed receives in the bar's time counts once. A bar with a high tick volume saw the price updated many times. An update is a new quote, not a trade: how much changed hands at that price is not in the feed.
Why it is still useful
Tick volume rises and falls with activity: it is high when a market opens or news lands, and low in the quiet hours. That is why charting tools use it as a measure of activity where no traded volume exists.
What it is not
It is not a number of contracts or a traded amount, and it cannot be added up across sources: two providers can count different tick volumes for the same pair and the same minute, because each counts the updates its own feed receives.
How the API counts it
The volume of a candle, read by REST from GET /v1/candles or received on the stream, is the number of price updates received in that bar, on every timeframe from one second to one day. A one-second bar exists only for a second in which an update arrived.
Where the count changes
Bars from the other price feed, on any timeframe until 05.06.2026 at the latest, carry that feed's tick volume, counted differently. /symbols.json gives each symbol's dates, so a series can be cut where the count changes.
Using it in a chart or a model
Compare tick volume within one symbol and one source, never across them. As a relative measure of activity, by hour or by day, it holds; as an absolute amount, it means nothing.

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