# Saylor Innovations FX History

> Saylor Innovations FX History is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-28).

Returns ECB reference rate history for up to 6 currency pairs including change, high/low with dates, mean, annualised volatility, and a compact time series

## Facts

- Endpoint: GET https://saylorinnovations.com/api/fx/history?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-fx-history-ae3abeca
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_VSC2ToZHqTM1kna6bIpPC

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 saylor-innovations-fx-history-ae3abeca
```

Example prompt: Pull the ECB reference rate history for EUR as the base against USD, GBP, and JPY over the last 90 days — I want to see the high, low, mean, change percent, and annualised volatility for each pair.

## When to prefer this

Choose this endpoint when you need official ECB reference rate history with pre-computed statistics (volatility, high/low, mean, change) rather than raw tick data. Ideal for financial reporting, risk analysis, and dashboards that need authoritative European central bank FX data without doing your own statistical calculations. Best when you need up to 6 pairs in a single call.

## Known failure modes

- Invalid or unsupported base/quote currency codes return an error
- Requesting more than 6 quote currencies may be rejected
- Days value outside 5-365 range returns a validation error
- ECB data may be unavailable for weekends/holidays, reducing observations
- Currency pairs not covered by ECB reference rates will return missing data

## How this service works

Exchange rate history from ECB reference rates for up to 6 currencies - change, high and low with dates, mean, annualised volatility and a compact series

## Output

A JSON object containing the base currency, start and end dates of the series, number of observations, data source attribution (ECB), and an array of pair objects each including the currency pair label, first and latest rates, period high and low with their dates, mean rate, change percent, annualised volatility percent, and a compact time series of rates.

## 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",
      "symbols"
     ],
     "properties": {
      "base": {
       "type": "string",
       "description": "3-letter base currency"
      },
      "days": {
       "type": "string",
       "description": "optional 5-365, default 30"
      },
      "symbols": {
       "type": "string",
       "description": "1-6 comma-separated quote currencies"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "base",
      "pairs"
     ],
     "properties": {
      "end": {
       "type": "string",
       "description": "Last date of the returned series"
      },
      "base": {
       "type": "string",
       "description": "Base asset or base currency"
      },
      "note": {
       "type": "string",
       "description": "Caveat or context for reading the result"
      },
      "pairs": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "low": {
          "description": "Lowest value"
         },
         "high": {
          "description": "Highest value"
         },
         "mean": {
          "type": [
           "number",
           "null"
          ],
          "description": "Mean rate over the period"
         },
         "pair": {
          "type": [
           "string",
           "null"
          ],
          "description": "Currency pair"
         },
         "first": {
          "type": [
           "number",
           "null"
          ],
          "description": "Rate at the start of the period"
         },
         "latest": {
          "description": "Most recent value or version"
         },
         "series": {
          "description": "Time series of values"
         },
         "low_date": {
          "description": "Low date"
         },
         "high_date": {
          "description": "High date"
         },
         "change
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-fx-history-ae3abeca/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
