FX store coverage
const url = 'https://api.getchord.xyz/v1/fx/lake';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.getchord.xyz/v1/fx/lakeHow far the FX / metal candle store behind /backtest is filled, per symbol: the last month of 1h bars and the last day of 1m bars. state is running while a fill pass is in progress.
Responses
Section titled “ Responses ”object
Unix ms of the last fill pass, 0 when none ran in this process.
Files written by the last pass.
Unix time, milliseconds — when the server built this answer.
First month of the 1h store, YYYY-MM.
How many days back the 1m store reaches.
Keyed by symbol.
object
object
Last month with 1h bars, YYYY-MM.
Last day with 1m bars, YYYY-MM-DD.
Example
{ "state": "idle", "lastError": null, "lastAt": 0, "files": 0, "snapshotAt": 1791737879748, "from": "2016-01", "minuteDays": 400, "symbols": { "EURUSD": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "GBPUSD": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "USDJPY": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "USDCHF": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "AUDUSD": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "USDCAD": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "USDSEK": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "NZDUSD": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "EURJPY": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "GBPJPY": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "EURGBP": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "XAUUSD": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" }, "XAGUSD": { "hourThrough": "2026-09", "minuteThrough": "2026-10-10" } }}The lane behind this endpoint is not ready or not enabled here (NOT_READY, CHAIN_NOT_ENABLED, NOT_ENABLED, *_UNAVAILABLE). Retry later; do not treat it as an empty answer.
Every non-2xx body.
object
Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.
For humans.
HTTP status, when included.
Example
{ "error": "INVALID_PARAMS", "message": "amount must be an integer string in the token's smallest unit"}