# x402.shizu.me ECB FX Rates Gateway (Frankfurter Proxy)

> x402.shizu.me ECB FX Rates Gateway (Frankfurter Proxy) is a paid API for AI agents from x402.shizu.me, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Proxies requests to the Frankfurter ECB foreign exchange rates API through a metered gateway with rate-limit buffering and 3600-second caching.

## Facts

- Endpoint: GET https://x402.shizu.me/gw/frankfurter
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-shizu-me-ecb-fx-rates-gateway-frankfurter-proxy-49b301f5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aKQyuK_d87N7aDYfFgOpP

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 x402-shizu-me-ecb-fx-rates-gateway-frankfurter-proxy-49b301f5
```

Example prompt: What's the current ECB exchange rate for USD to EUR and GBP? Use the Frankfurter gateway at /latest with base=USD and symbols=EUR,GBP.

## When to prefer this

Choose this endpoint when you need ECB official FX rates via the Frankfurter API but want to avoid upstream rate limits or 429 errors — the gateway absorbs polling pressure with a 3600-second cache. Ideal for agents polling FX rates in a loop or for use cases where official ECB rates (rather than real-time market rates) are sufficient.

## Known failure modes

- Invalid upstream path returns error from gateway
- Malformed query string may cause upstream 400
- Upstream Frankfurter outage propagates as error (cached responses may still be served during outage)
- Payment failure (402) if USDC balance is insufficient
- Unsupported currency symbol returns empty or error from ECB upstream

## How this service works

Call ECB FX rates through our metered gateway: our rate-limit budget and a 3600s cache absorb your polling, so your loop never sees a 429. Inputs: path (upstream path, e.g. /ping) and q (raw query string). Returns the upstream JSON under 'data'.

## Output

Returns the upstream Frankfurter/ECB JSON response nested under a 'data' key — typically includes base currency, date, and a map of currency codes to exchange rates. Cached for up to 3600 seconds to avoid upstream rate limits.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "method"
   ],
   "properties": {
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "path",
      "q"
     ],
     "properties": {
      "q": {
       "type": "string"
      },
      "path": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {},
  "path": "/ping",
  "upstream": "frankfurter"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-shizu-me-ecb-fx-rates-gateway-frankfurter-proxy-49b301f5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.shizu.me](https://www.zero.xyz/host/x402.shizu.me/llms.txt)
