Exchange Rate

Get the current exchange rate between two currencies from the European Central Bank, with the inverse rate and the date.

Pay by wallet (x402) exchange-rate

Example

Input
{
  "to": "EUR",
  "from": "USD"
}
Answer
{
  "to": "EUR",
  "date": "2026-03-06",
  "from": "USD",
  "rate": 0.864977,
  "inverse_rate": 1.1561
}

Inputs

FieldTypeRequiredWhat it is
tostringYesTarget currency (ISO 4217, e.g. EUR)
fromstringYesSource currency (ISO 4217, e.g. USD)

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
tostringAlways (present in every successful answer)
datestringAlways (present in every successful answer)
fromstringAlways (present in every successful answer)
ratenumberAlways (present in every successful answer)
inverse_ratenumberAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "exchange-rate",
    "inputs": {
      "to": "EUR",
      "from": "USD"
    },
    "max_price_cents": 2
  }'

Limitations

  • Rates can be stale on weekends and holidays

    Rates updated every hour during market hours, may be stale during weekends and holidays

    What to do instead: For weekend transactions, use the Friday close rate and flag the amount for reconciliation on Monday

  • Bank conversion rates can differ by 0.5–3%

    Mid-market rates — actual bank conversion rates will differ by 0.5-3% depending on provider

    What to do instead: Apply your bank's typical spread as a margin buffer (e.g., ±1.5%) when displaying converted amounts to users

Bundled checks that include it

Related tools