# FX Rates ECB – Currency Pair Change & Volatility

> FX Rates ECB – Currency Pair Change & Volatility is a paid API for AI agents from fx-ecb.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-21).

Returns percent change, high, low, annualized volatility, and range position for a currency pair over a 7–365 day window using ECB reference rates.

## Facts

- Endpoint: GET https://fx-ecb.x402tookit.com/fx-change?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/fx-rates-ecb-currency-pair-change-volatility-b20b2961
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AHV4Chti9p4p9_lx-vxGv

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 fx-rates-ecb-currency-pair-change-volatility-b20b2961
```

Example prompt: How much has EUR/USD moved over the last 90 days — give me the percent change, the high and low, annualized volatility, and where today's rate sits in that range?

## When to prefer this

Choose this endpoint when you need statistical context about how a currency pair has moved — not just the current rate, but volatility, range, and trend over a defined window. Ideal for risk assessments, trade briefings, or alerting workflows that need to contextualize today's rate against recent history. Prefer over a simple rate lookup when percent change, volatility, or range position are needed. All data is sourced from official ECB reference rates, making it appropriate for compliance-sensitive or institutional use cases.

## Known failure modes

- Missing or invalid base/quote currency codes return an error or empty result
- Days parameter outside 7–365 range may be rejected or clamped
- Currency pairs not covered by ECB (non-ECB currencies) will return no data
- Weekends and ECB holidays reduce available fixings, potentially triggering degraded mode
- Network or upstream ECB data outage may return a degraded or partial response

## How this service works

Currency pair move over 7-365 days: percent change, high, low, annualized volatility and where today sits in the range.

## Output

A JSON object containing: the percent change from start to latest rate, the high and low rates with dates, annualized volatility percentage, position of today's rate within the observed range (0–1 scale), start and latest rates, number of ECB fixings used, a plain-language summary and verdict, thresholds for notable moves, data source attribution, and a degraded-data flag if coverage was incomplete.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "base",
      "quote"
     ],
     "properties": {
      "base": {
       "type": "string",
       "description": "Base currency"
      },
      "days": {
       "type": "integer",
       "description": "Window in days, 7 to 365, default 30"
      },
      "quote": {
       "type": "string",
       "description": "Quote currency"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "low": {
       "type": [
        "null",
        "object"
       ],
       "properties": {
        "date": {
         "type": [
          "null",
          "string"
         ]
        },
        "rate": {
         "type": [
          "null",
          "number"
         ]
        }
       }
      },
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "base": {
       "type": [
        "null",
        "string"
       ]
      },
      "high": {
       "type": [
        "null",
        "object"
       ],
       "properties": {
        "date": {
         "type": [
          "null",
          "string"
         ]
        },
        "rate": {
         "type": [
          "null",
          "number"
         ]
        }
       }
      },
      "quote": {
       "type": [
        "null",
        "string"
       ]
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "fixings": {
       "type": [
        "null",
        "number"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "changePct": {
     
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/fx-rates-ecb-currency-pair-change-volatility-b20b2961/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from fx-ecb.x402tookit.com](https://www.zero.xyz/host/fx-ecb.x402tookit.com/llms.txt)
