# Currency Exchange (ECB/Frankfurter)

> Currency Exchange (ECB/Frankfurter) is a paid API for AI agents from ZeroClick x402 Service Registry at fx.withzero.ai, paid per call via MPP, metered — billed by usage, status unknown (last checked 2026-10-10, last successful call 2026-06-09).

Converts one or more currencies using European Central Bank exchange rates via the Frankfurter API, returning converted amounts, exchange rates, and rate date.

## Facts

- Endpoint: POST https://fx.withzero.ai/run?utm_source=zero.xyz
- Price: metered — billed by usage
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-10
- Last successful call: 2026-06-09
- Success rate: 60% of calls made through Zero
- Rating: 5.0 / 5 from 2 reviews
- Activations on Zero: 5
- Provider: ZeroClick x402 Service Registry
- Website: https://withzero.ai
- Tags: finance, currency, exchange, forex, conversion, rates, ecb
- Canonical page: https://www.zero.xyz/c/zeroclick-x402-service-registry-currency-exchange-92cd556f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_L8el-aS_ToXHoyZRooacd

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability zeroclick-x402-service-registry-currency-exchange-92cd556f -d '<json body>'
```

Example prompt: How much is 750 US dollars in euros and Japanese yen right now?

## When to prefer this

Use this endpoint when you need free, reliable currency conversion using official ECB rates with no API key or usage limits. Ideal for finance apps, travel cost estimation, invoice conversion, or any scenario requiring accurate multi-currency conversion. Prefer over paid forex APIs for non-commercial, informational, or agent-driven use cases where ECB rates are acceptable.

## Known failure modes

- Invalid or unsupported currency ISO code returns an error — only 30+ ECB-supported currencies are available
- Amount of 0 or negative is rejected by schema (exclusiveMinimum: true)
- ECB rates are updated once per business day, so weekend/holiday rates may reflect the last available business day
- Network timeout if Frankfurter API is unreachable

## How this service works

Convert between 30+ currencies using ECB exchange rates via Frankfurter API. Free, no API key needed, unlimited usage. Input: from/to currency codes, amount. Output: converted amount, rate, date.

## Output

Returns an object containing the source currency, original amount, the ECB rate date (YYYY-MM-DD), and an array of conversion results — each with the target currency code, the exchange rate (1 unit of source = N units of target), and the converted amount.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "from",
  "to"
 ],
 "properties": {
  "to": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 3,
     "minLength": 3,
     "description": "Target currency ISO code"
    },
    {
     "type": "array",
     "items": {
      "type": "string",
      "maxLength": 3,
      "minLength": 3,
      "description": "Target currency ISO code"
     },
     "minItems": 1
    }
   ],
   "description": "One or more target currency ISO codes (e.g. \"EUR\" or [\"EUR\", \"GBP\", \"JPY\"])"
  },
  "from": {
   "type": "string",
   "maxLength": 3,
   "minLength": 3,
   "description": "Source currency ISO code (e.g. \"USD\", \"EUR\", \"GBP\")"
  },
  "amount": {
   "type": "number",
   "default": 1,
   "minimum": 0,
   "description": "Amount to convert (default: 1)",
   "exclusiveMinimum": true
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "from",
  "amount",
  "timestamp",
  "conversions"
 ],
 "properties": {
  "from": {
   "type": "string",
   "description": "Source currency code"
  },
  "amount": {
   "type": "number",
   "description": "Original amount being converted"
  },
  "timestamp": {
   "type": "string",
   "description": "Date of the exchange rates (YYYY-MM-DD)"
  },
  "conversions": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "to",
     "rate",
     "convertedAmount"
    ],
    "properties": {
     "to": {
      "type": "string",
      "description": "Target currency code"
     },
     "rate": {
      "type": "number",
      "description": "Exchange rate (1 unit of source = rate units of target)"
     },
     "convertedAmount": {
      "type": "number",
      "description": "Converted amount in target currency"
     }
    },
    "additionalProperties": false
   },
   "description": "Array of conversion results"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/zeroclick-x402-service-registry-currency-exchange-92cd556f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from fx.withzero.ai](https://www.zero.xyz/host/fx.withzero.ai/llms.txt)
