One-second OHLC bars and tick data
Tick data records every price update. A one-second OHLC bar keeps, for each second with a quote, its open, high, low and close, and the number of updates. For most charts and many models the second is fine enough, and much lighter to read.
- What tick data keeps
- Each update as it arrived: a time, a bid, an ask. Nothing is summarised: the order of the updates within a second, and every quote replaced a moment later, are all there.
- What a one-second bar keeps
- For each second with at least one quote, the open, high, low and close of the bid, and the tick volume. The order inside the second is gone; its range and its last price are kept. A second without a quote has no bar.
- What it weighs
- A busy pair can be updated many times in a second at its most active hours. A bar per second caps what is stored and read at one row a second, whatever the activity: a history a browser chart can load whole, where ticks would have to be thinned out first.
- When the second is enough
- A chart, a live price panel, an alert on a level, an indicator on one-second or one-minute bars, a model that decides on a scale of seconds or more: all of them read bars, and the second costs them nothing that matters.
- When it is not
- Measuring the spread update by update, studying the order of quotes inside a second, or simulating an execution at the exact quote of the moment needs the ticks themselves. The API keeps no tick history: what it stores and serves by REST is bars, from one second up. The stream's quote channel carries each bid and ask live, but past ticks cannot be read back.
- What the API serves
- One-second candles kept 180 days rolling (the archive opened on 06.09.2026), minute bars and above further back, and the live bid and ask on the stream, for 46 currency pairs and 5 metals, sold by capacity from CHF 500 a month.
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