# Syntexa AgentShelf ECB FX Rates

> Syntexa AgentShelf ECB FX Rates is a paid API for AI agents from agentshelf.syntexa.ch, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-12).

Returns ECB daily foreign exchange rates for a base/quote currency pair, with optional amount conversion, sourced from the Frankfurter ECB feed.

## Facts

- Endpoint: POST https://agentshelf.syntexa.ch/v1/fx-rates?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/syntexa-agentshelf-ecb-fx-rates-910a7e82
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eCDhSnZVcm746Lvx5rWdq

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 syntexa-agentshelf-ecb-fx-rates-910a7e82 -d '<json body>'
```

Example prompt: What's the ECB daily exchange rate for EUR to USD today, and how much would 10 euros be in dollars?

## When to prefer this

Choose this endpoint when you need the official ECB daily reference rate for one or more currency pairs, especially when accuracy and an authoritative source (ECB/Frankfurter) matter. Prefer it over generic FX APIs when working in EUR-centric financial workflows or when you need the official ECB as_of date stamped on the rate. The sandbox endpoint (/v1/sandbox/fx-rates) is available for unpaid testing before committing to the $0.002 USDC per-call fee.

## Known failure modes

- Unsupported or invalid ISO 4217 currency code returns a 4xx error
- ECB rate not yet published for today (rates are published on ECB business days) may return stale or unavailable data
- Amount provided without a quote currency causes a validation error
- Network or upstream Frankfurter feed unavailability causes a 5xx error
- Payment of exactly $0.002 USDC on Base must succeed or request is rejected

## How this service works

Call when an agent needs ECB daily FX rates, an as_of date, and an optional conversion. Send base (default EUR), optional quote such as USD, and optional amount. Returns rates and converted. Source is the Frankfurter ECB feed. Send JSON {"base":"EUR","quote":"USD","amount":10}. Exact $0.002 USDC on Base. Try unpaid POST /v1/sandbox/fx-rates first.

## Output

Returns a JSON object containing the as_of date of the ECB rate publication, the base currency, a map of quote currencies to per-unit exchange rates, and optionally a converted amount if both quote and amount were provided.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "base": {
   "type": "string",
   "pattern": "^[A-Z]{3}$",
   "examples": [
    "EUR"
   ],
   "maxLength": 3,
   "minLength": 3,
   "description": "ISO 4217 base currency. Example: EUR. Defaults to EUR (ECB) when omitted. Returns rates and as_of. Pair with quote and amount to convert."
  },
  "quote": {
   "type": "string",
   "pattern": "^[A-Z]{3}$",
   "examples": [
    "USD"
   ],
   "maxLength": 3,
   "minLength": 3,
   "description": "ISO 4217 quote currency. Example: USD. Omit it to return the full ECB rate map for base. Required when amount is set."
  },
  "amount": {
   "type": "number",
   "maximum": 1000000000,
   "examples": [
    10
   ],
   "description": "Amount of base to convert into quote. Example: 10. Requires quote. Returns converted plus the per-unit rates map.",
   "exclusiveMinimum": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/syntexa-agentshelf-ecb-fx-rates-910a7e82/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentshelf.syntexa.ch](https://www.zero.xyz/host/agentshelf.syntexa.ch/llms.txt)
