{"openapi":"3.1.0","info":{"title":"FX Rates ECB","version":"1.0.0","description":"Currency exchange rates, conversion, historical rates, change, range and volatility for 30 major currencies, computed from European Central Bank reference rates. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"FX Rates ECB answers one question per call about the 30 currencies the European Central Bank publishes daily reference rates for (USD, EUR, GBP, JPY, CHF, CAD, AUD and more): the current rate (/fx-rate), a conversion (/fx-convert), the rate on a past date (/fx-historical), how a rate moved and how volatile it is (/fx-change, /fx-range), several quotes at once (/fx-basket) and the biggest movers against a base currency (/fx-movers). Rates are ECB reference rates published once per working day around 16:00 CET: they are not live tradable prices. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. Not financial advice. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://fx-ecb.x402tookit.com"}],"paths":{"/fx-basket":{"get":{"operationId":"fx_basket","summary":"Rates for up to 10 currencies against one base at once, with each one's 30-day change, strongest and weakest first.","description":"Rates for up to 10 currencies against one base at once, with each one's 30-day change, strongest and weakest first.","tags":["fx","basket","multi-currency"],"parameters":[{"name":"base","in":"query","required":true,"description":"Base currency, e.g. USD","schema":{"type":"string"}},{"name":"quotes","in":"query","required":true,"description":"Comma-separated quote currencies, up to 10, e.g. EUR,GBP,JPY","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"base":{"type":["null","string"]},"currencies":{"type":["array","null"],"items":{"type":"object","properties":{"currency":{"type":["null","string"]},"rate":{"type":["null","number"]},"change30dPct":{"type":["null","number"]}}}},"attribution":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"BASKET","summary":"5 currencies vs USD: EUR gained most against USD (3.45%), GBP least (2.18%) over 30 days.","reasons":["Positive change means the quote currency became more expensive in the base currency (the base weakened).","Source: European Central Bank reference rates via Frankfurter."],"base":"USD","currencies":[{"currency":"EUR","rate":0.89238,"change30dPct":3.45},{"currency":"GBP","rate":0.75641,"change30dPct":2.18}],"attribution":"Source: European Central Bank reference rates via Frankfurter.","degraded":false,"notChecked":["live prices","causes"],"source":"ECB reference rates via Frankfurter","sourceUrl":"https://api.frankfurter.dev","asOf":"2026-10-11T03:53:18.628Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-basket"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-basket"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-basket"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-basket"}}]}}},"/fx-change":{"get":{"operationId":"fx_change","summary":"Currency pair move over 7-365 days: percent change, high, low, annualized volatility and where today sits in the range.","description":"Currency pair move over 7-365 days: percent change, high, low, annualized volatility and where today sits in the range.","tags":["fx","volatility","trend"],"parameters":[{"name":"base","in":"query","required":true,"description":"Base currency","schema":{"type":"string"}},{"name":"quote","in":"query","required":true,"description":"Quote currency","schema":{"type":"string"}},{"name":"days","in":"query","required":false,"description":"Window in days, 7 to 365, default 30","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"base":{"type":["null","string"]},"quote":{"type":["null","string"]},"windowDays":{"type":["null","number"]},"fixings":{"type":["null","number"]},"startRate":{"type":["null","number"]},"latestRate":{"type":["null","number"]},"changePct":{"type":["null","number"]},"high":{"type":["null","object"],"properties":{"date":{"type":["null","string"]},"rate":{"type":["null","number"]}}},"low":{"type":["null","object"],"properties":{"date":{"type":["null","string"]},"rate":{"type":["null","number"]}}},"positionInRange":{"type":["null","number"]},"annualizedVolatilityPct":{"type":["null","number"]},"thresholds":{"type":["null","object"],"properties":{"highVolAnnualPct":{"type":["null","number"]},"moveAbsPct":{"type":["null","number"]}}},"attribution":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"RANGE_BOUND","summary":"USD/EUR +1.946% over 90 days (0.87535 to 0.89238); range 0.85477 to 0.89469; annualized volatility 4.79%.","reasons":["Today sits at 94% of the window's range.","Source: European Central Bank reference rates via Frankfurter."],"base":"USD","quote":"EUR","windowDays":90,"fixings":65,"startRate":0.87535,"latestRate":0.89238,"changePct":1.946,"high":{"date":"2026-10-07","rate":0.89469},"low":{"date":"2026-08-21","rate":0.85477},"positionInRange":0.942,"annualizedVolatilityPct":4.79,"thresholds":{"highVolAnnualPct":15,"moveAbsPct":3},"attribution":"Source: European Central Bank reference rates via Frankfurter.","degraded":false,"notChecked":["intraday swings","causes of the move"],"source":"ECB reference rates via Frankfurter","sourceUrl":"https://api.frankfurter.dev","asOf":"2026-10-11T03:53:19.228Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-change"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-change"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-change"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-change"}}]}}},"/fx-convert":{"get":{"operationId":"fx_convert","summary":"Convert an amount from one currency to another at the latest ECB reference rate, with the rate and fixing date.","description":"Convert an amount from one currency to another at the latest ECB reference rate, with the rate and fixing date.","tags":["fx","convert","currency"],"parameters":[{"name":"amount","in":"query","required":true,"description":"Amount in the from currency","schema":{"type":"number"}},{"name":"from","in":"query","required":true,"description":"From currency, e.g. EUR","schema":{"type":"string"}},{"name":"to","in":"query","required":true,"description":"To currency, e.g. GBP","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"amount":{"type":["null","number"]},"from":{"type":["null","string"]},"to":{"type":["null","string"]},"rate":{"type":["null","number"]},"result":{"type":["null","number"]},"fixingDate":{"type":["null","string"]},"attribution":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"CONVERTED","summary":"250 EUR = 211.91 GBP at 0.84763 (ECB fixing 2026-10-09).","reasons":["Banks and card networks add a spread of roughly 0.5 to 3 percent to reference rates.","Source: European Central Bank reference rates via Frankfurter."],"amount":250,"from":"EUR","to":"GBP","rate":0.84763,"result":211.9075,"fixingDate":"2026-10-09","attribution":"Source: European Central Bank reference rates via Frankfurter.","degraded":false,"notChecked":["the rate you would actually get","fees"],"source":"ECB reference rates via Frankfurter","sourceUrl":"https://api.frankfurter.dev","asOf":"2026-10-11T03:53:19.810Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-convert"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-convert"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-convert"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-convert"}}]}}},"/fx-currencies":{"get":{"operationId":"fx_currencies","summary":"The 30 currencies the ECB publishes daily reference rates for, with codes and names. Use before calling other FX endpoints.","description":"The 30 currencies the ECB publishes daily reference rates for, with codes and names. Use before calling other FX endpoints.","tags":["fx","currencies","reference"],"parameters":[{"name":"view","in":"query","required":false,"description":"Optional label echoed back; no effect","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"count":{"type":["null","number"]},"currencies":{"type":["array","null"],"items":{"type":"object","properties":{"code":{"type":["null","string"]},"name":{"type":["null","string"]}}}},"attribution":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"LIST","summary":"30 currencies supported: AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, ILS, INR, ISK, JPY, KRW, MXN, MYR, NOK, NZD, PHP, PLN, RON, SEK, SGD, THB, TRY, USD, ZAR.","reasons":["The EUR is the ECB's own base; any listed currency can be the base or the quote here.","Source: European Central Bank reference rates via Frankfurter."],"count":30,"currencies":[{"code":"AUD","name":"Australian Dollar"},{"code":"BRL","name":"Brazilian Real"}],"attribution":"Source: European Central Bank reference rates via Frankfurter.","degraded":false,"notChecked":["currencies the ECB does not publish (for example most African and many Asian currencies)"],"source":"ECB reference rates via Frankfurter","sourceUrl":"https://api.frankfurter.dev/v1/currencies","asOf":"2026-10-11T03:53:20.121Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-currencies"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-currencies"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-currencies"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-currencies"}}]}}},"/fx-historical":{"get":{"operationId":"fx_historical","summary":"ECB reference exchange rate on a past date (since 1999) and the change since then; weekends use the prior working day.","description":"ECB reference exchange rate on a past date (since 1999) and the change since then; weekends use the prior working day.","tags":["fx","historical","ecb"],"parameters":[{"name":"base","in":"query","required":true,"description":"Base currency","schema":{"type":"string"}},{"name":"quote","in":"query","required":true,"description":"Quote currency","schema":{"type":"string"}},{"name":"date","in":"query","required":true,"description":"YYYY-MM-DD","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"base":{"type":["null","string"]},"quote":{"type":["null","string"]},"requestedDate":{"type":["null","string"]},"fixingDate":{"type":["null","string"]},"rate":{"type":["null","number"]},"latestRate":{"type":["null","number"]},"changeSincePct":{"type":["null","number"]},"attribution":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"HISTORICAL_RATE","summary":"1 USD = 0.8963 EUR on 2020-03-16; today 0.89238, -0.44%.","reasons":["Source: European Central Bank reference rates via Frankfurter."],"base":"USD","quote":"EUR","requestedDate":"2020-03-16","fixingDate":"2020-03-16","rate":0.8963,"latestRate":0.89238,"changeSincePct":-0.44,"attribution":"Source: European Central Bank reference rates via Frankfurter.","degraded":false,"notChecked":["intraday moves on that date"],"source":"ECB reference rates via Frankfurter","sourceUrl":"https://api.frankfurter.dev","asOf":"2026-10-11T03:53:20.760Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-historical"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-historical"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-historical"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-historical"}}]}}},"/fx-movers":{"get":{"operationId":"fx_movers","summary":"Biggest currency movers against a base over 7-180 days among the 30 ECB currencies, strongest and weakest.","description":"Biggest currency movers against a base over 7-180 days among the 30 ECB currencies, strongest and weakest.","tags":["fx","movers","currency-strength"],"parameters":[{"name":"base","in":"query","required":true,"description":"Base currency, e.g. USD","schema":{"type":"string"}},{"name":"days","in":"query","required":false,"description":"Window in days, 7 to 180, default 30","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"base":{"type":["null","string"]},"windowDays":{"type":["null","number"]},"topGainers":{"type":["array","null"],"items":{"type":"object","properties":{"currency":{"type":["null","string"]},"name":{"type":["null","string"]},"changePct":{"type":["null","number"]}}}},"topLosers":{"type":["array","null"],"items":{"type":"object","properties":{"currency":{"type":["null","string"]},"name":{"type":["null","string"]},"changePct":{"type":["null","number"]}}}},"thresholds":{"type":["null","object"],"properties":{"wideSpreadPoints":{"type":["null","number"]}}},"attribution":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"NORMAL_DISPERSION","summary":"Over 30 days vs USD: strongest-gaining quote MXN 7.2%, weakest BRL -2.07%; spread 9.27 points.","reasons":["A positive number means that currency became more expensive in the base currency.","Source: European Central Bank reference rates via Frankfurter."],"base":"USD","windowDays":30,"topGainers":[{"currency":"MXN","name":"Mexican Peso","changePct":7.2},{"currency":"RON","name":"Romanian Leu","changePct":5.14}],"topLosers":[{"currency":"BRL","name":"Brazilian Real","changePct":-2.07},{"currency":"CNY","name":"Chinese Renminbi Yuan","changePct":-0.24}],"thresholds":{"wideSpreadPoints":10},"attribution":"Source: European Central Bank reference rates via Frankfurter.","degraded":false,"notChecked":["currencies outside the ECB 30","live prices"],"source":"ECB reference rates via Frankfurter","sourceUrl":"https://api.frankfurter.dev","asOf":"2026-10-11T03:53:21.369Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-movers"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-movers"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-movers"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-movers"}}]}}},"/fx-range":{"get":{"operationId":"fx_range","summary":"Average, high, low and percentile rank of today's rate for a currency pair over 30-1095 days, with a rich/cheap verdict.","description":"Average, high, low and percentile rank of today's rate for a currency pair over 30-1095 days, with a rich/cheap verdict.","tags":["fx","range","mean-reversion"],"parameters":[{"name":"base","in":"query","required":true,"description":"Base currency","schema":{"type":"string"}},{"name":"quote","in":"query","required":true,"description":"Quote currency","schema":{"type":"string"}},{"name":"days","in":"query","required":false,"description":"Window in days, 30 to 1095, default 365","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"base":{"type":["null","string"]},"quote":{"type":["null","string"]},"windowDays":{"type":["null","number"]},"latest":{"type":["null","number"]},"mean":{"type":["null","number"]},"high":{"type":["null","object"],"properties":{"date":{"type":["null","string"]},"rate":{"type":["null","number"]}}},"low":{"type":["null","object"],"properties":{"date":{"type":["null","string"]},"rate":{"type":["null","number"]}}},"percentileRank":{"type":["null","number"]},"fixings":{"type":["null","number"]},"attribution":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"NEAR_RANGE_LOW","summary":"EUR/USD at 1.1206: percentile 2 of the last 365 days (mean 1.16038, range 1.1177 to 1.1974).","reasons":["Percentile is the share of past fixings at or below today's rate. A rate near its range edge says nothing about where it goes next.","Source: European Central Bank reference rates via Frankfurter."],"base":"EUR","quote":"USD","windowDays":365,"latest":1.1206,"mean":1.16038,"high":{"date":"2026-01-28","rate":1.1974},"low":{"date":"2026-10-07","rate":1.1177},"percentileRank":2,"fixings":255,"attribution":"Source: European Central Bank reference rates via Frankfurter.","degraded":false,"notChecked":["fundamentals","forecasts"],"source":"ECB reference rates via Frankfurter","sourceUrl":"https://api.frankfurter.dev","asOf":"2026-10-11T03:53:21.978Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-range"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-range"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-range"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-range"}}]}}},"/fx-rate":{"get":{"operationId":"fx_rate","summary":"Latest ECB reference exchange rate for a currency pair, with the inverse and the fixing date.","description":"Latest ECB reference exchange rate for a currency pair, with the inverse and the fixing date.","tags":["fx","exchange-rate","ecb"],"parameters":[{"name":"base","in":"query","required":true,"description":"Base currency, e.g. USD","schema":{"type":"string"}},{"name":"quote","in":"query","required":true,"description":"Quote currency, e.g. EUR","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"base":{"type":["null","string"]},"quote":{"type":["null","string"]},"rate":{"type":["null","number"]},"inverse":{"type":["null","number"]},"fixingDate":{"type":["null","string"]},"attribution":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"sourceUrl":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"RATE","summary":"1 USD = 158.25 JPY (ECB fixing of 2026-10-09); 1 JPY = 0.006319 USD.","reasons":["An ECB reference rate is a once-a-day fixing, not a live tradable price.","Source: European Central Bank reference rates via Frankfurter."],"base":"USD","quote":"JPY","rate":158.25,"inverse":0.006319,"fixingDate":"2026-10-09","attribution":"Source: European Central Bank reference rates via Frankfurter.","degraded":false,"notChecked":["live market price","bid/ask spreads and fees"],"source":"ECB reference rates via Frankfurter","sourceUrl":"https://api.frankfurter.dev","asOf":"2026-10-11T03:53:22.422Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-rate"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-rate"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-rate"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fx-ecb.x402tookit.com/fx-rate"}}]}}}}}