Market data redistribution, without a separate agreement
Showing market prices to people outside your company, or passing them on, is what a data provider usually prices apart, in an agreement of its own. Here it is allowed on every paid plan, for 46 currency pairs and 5 metals, and its price is published: a symbol you relay around the clock adds CHF 150 a month.
- What redistribution means
- Using the data beyond your own desk: showing it in a product your customers use, sending it on to your clients' systems, or keeping it in what you deliver to them. Reading prices for your own analysis is internal use; as soon as someone outside your company sees or receives them, the data has left your company.
- Why it is usually priced apart
- Many market data offers separate internal use from display to outside users and from passing the data on, each with its own terms, often an agreement per use and a fee per user who sees a price. On many offers the cheapest plans are for internal use only, which is worth checking before a product that shows prices to customers is built on one.
- What every paid plan allows here
- Display in your product, relay to your clients, and keeping what you receive, from CHF 500 a month, with no feed contract to negotiate. A symbol your connections follow live for more than 80% of its open hours in a month adds CHF 150 to the invoice that follows the month. The threshold never cuts the feed.
- Three common cases
- A broker shows live quotes and charts to its clients in its own platform. A payment or treasury app shows exchange rates to its customers before they convert. A data or analytics company passes prices on to its clients' dashboards and keeps the candles it read. Each one shows or passes the data to people outside the company, and each one is covered by the same plan, with the continuous feed counted per symbol.
- No count of who sees it
- You do not register your users with us or report how many saw a price; the end-user id each token names is not kept. A plan is priced by the month's peak of simultaneous connections and by slices of 1 000 bars, both measured by the API itself, so the invoice needs no audit of your audience.
- What counts as relayed around the clock
- A symbol counts when one of your connections holds it on the live stream, or a REST answer carries its bar still forming, for more than 80% of the hours its market is open in the month, while our service was up. History never counts. Your account page shows each symbol's share as the month goes.
- Keeping what you receive
- The candles and quotes your connections read are yours to keep: store them, and serve your users charts from your own store rather than calling the API for every view. What you keep was read, and paid for, through the metered API once.
- What it covers, and what it does not
- It covers the data you receive: the live bid and ask and the candles of the 51 symbols a paid plan carries. There is no bulk export or download, so what you pass on is what your connections read through the metered API, not an archive handed over in one piece.
- Knowing the price before you build
- The plans, their sizes and the continuous feed are published, and the price calculator gives the plan and the total before VAT for a month of your peak connections, your slices and the symbols you would relay around the clock, by the rule the monthly review applies.
- The trial
- The free trial is for testing an integration, 7 days on EURUSD · XAUUSD; showing the data to people outside your company starts with a paid plan.
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