FX rates + conversion (live, with the ECB rate beside it) ($0.001)
fx_ratesPAID ($0.001 USDC via x402). Live exchange rates and a conversion: how many units of each target currency one unit of from buys (a live mid rate), the converted amount, and — where the European Central Bank publishes one — its daily reference rate and the deviation between the two, an independent check in the same answer. ~170 fiat currencies plus BTC, ETH and other majors. Defaults to USD against EUR, GBP, JPY, CNY, CHF, CAD, AUD, INR. An unknown currency answers 404 and is not charged. Rates for information, not an executable quote. Without payment this returns the 402 challenge; the fiatdock-mcp npm package pays automatically. Any answer the tool cannot produce is >= 400 and is NOT charged.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Currencies to convert TO, up to 20 (default EUR,GBP,JPY,CNY,CHF,CAD,AUD,INR) | |
| from | No | Currency to convert FROM (ISO code like USD, EUR, or a crypto like BTC), default USD | |
| amount | No | Amount of the FROM currency to convert (default 1) | |
| payment | No | Base64 of a single x402 v2 PaymentPayload (EIP-3009 transferWithAuthorization on Base USDC). OMIT it on the first call: the 402 you get back carries `howToPay.payloadTemplate` — the exact envelope to fill in — plus the price and the EIP-712 domain. Send it on the second call to complete the purchase; it is forwarded as the PAYMENT-SIGNATURE header, never as body data. Nothing is charged for the 402 itself, and a call that fails after payment settles nothing. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asOf | Yes | ISO time the live rates were read | |
| from | Yes | The currency converted FROM | |
| note | Yes | How to read a rate, and its limits | |
| rates | Yes | One row per target currency | |
| amount | Yes | The amount of `from` converted | |
| source | Yes | Where the rates came from | |
| ecbDate | Yes | Date of the ECB reference fixing used for ecbRate, or null |