# ECB Euro Area Risk-Free Yield Curve

> ECB Euro Area Risk-Free Yield Curve is a paid API for AI agents from x402-datashop-production.up.railway.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Returns latest ECB AAA-rated euro area sovereign yield curve spot rates (Svensson model) for 1–8 selectable tenors from 3M to 30Y, including the 2s10s spread.

## Facts

- Endpoint: GET https://x402-datashop-production.up.railway.app/v1/eu/yield-curve
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ecb-euro-area-risk-free-yield-curve-8c267f50
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hhwhe-r9DNcYOY1p3m6H1

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 ecb-euro-area-risk-free-yield-curve-8c267f50
```

Example prompt: Can you pull the current ECB euro area risk-free yield curve for the 3-month, 2-year, 5-year, 10-year, and 30-year tenors, and include the 2s10s spread?

## When to prefer this

Use this endpoint when you need official ECB risk-free euro area sovereign yield curve rates based on the Svensson model and AAA-rated bonds — the authoritative benchmark for EUR interest rates. Prefer this over generic financial data APIs when you specifically need ECB-sourced, regulation-grade reference rates rather than market composite yields.

## Known failure modes

- Invalid tenor value returns 400 error (e.g. tenor not in allowed set)
- More than 8 tenors requested returns validation error
- ECB data portal unavailable causes upstream fetch failure
- Request on a non-business day may return the most recent available data or an error
- Cache miss on first daily request may add slight latency

## How this service works

Latest euro area risk-free spot yields from the ECB Data Portal (dataset YC, AAA-rated central government bonds, Svensson model; updated each business day ~12:00 CET). Query: ?tenors=3M,1Y,2Y,5Y,10Y,30Y (1-8 tenors from 3M to 30Y). Returns yields_pct per tenor, observation date, and the 2s10s spread in bp when 2Y and 10Y are requested. 1h cache.

## Output

A JSON object containing yields_pct for each requested tenor (e.g. 3M, 2Y, 10Y), the ECB observation date for those rates, and (when both 2Y and 10Y are requested) the 2s10s spread in basis points. Data is sourced from the ECB YC dataset (AAA-rated central government bonds, Svensson model), updated each business day around 12:00 CET, with a 1-hour server-side cache.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "tenors": {
       "type": "string",
       "default": "3M,1Y,2Y,5Y,10Y,30Y",
       "description": "Comma-separated tenors (1-8) among 3M,6M,9M,1Y..10Y,15Y,20Y,25Y,30Y"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ecb-euro-area-risk-free-yield-curve-8c267f50/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-datashop-production.up.railway.app](https://www.zero.xyz/host/x402-datashop-production.up.railway.app/llms.txt)
