# SignalDesk AI FX History

> SignalDesk AI FX History is a paid API for AI agents from x402-agent.kariguetoazul.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-13).

Retrieves historical foreign exchange rates between two currencies for a specified date range, sourced from the European Central Bank via Frankfurter.

## Facts

- Endpoint: GET https://x402-agent.kariguetoazul.workers.dev/api/data/fx-history?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signaldesk-ai-fx-history-34a519d1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_VkDzCuHEHVisWnWNpO93W

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 signaldesk-ai-fx-history-34a519d1
```

Example prompt: Can you pull the daily EUR to USD exchange rates from September 1 to September 4, 2026 using the ECB reference data?

## When to prefer this

Choose this endpoint when you need official ECB reference-rate history for one or more specific date ranges and currency pairs, especially for financial reporting, accounting reconciliation, or compliance use cases that require authoritative central-bank-sourced data. It is ideal for lightweight, per-query lookups billed at $0.003 USDC via x402 micropayments, making it cost-effective for infrequent or agent-driven queries without a subscription.

## Known failure modes

- Invalid currency code (not a 3-letter ISO code) returns a validation error
- Start date after end date may return empty or error response
- Dates in the future beyond available ECB data may return no rates
- Weekend or ECB holiday dates may have no rate entries (ECB does not publish on non-business days)
- Network timeout or Cloudflare worker failure returns 5xx
- Payment failure or insufficient USDC balance returns 402 Payment Required

## How this service works

Evidence-backed autonomous AI jobs and paid data tools. Queue/D1/cron run outside the chat; free quotas and bounded execution apply.

## Output

Returns a JSON object with the base currency, a date-keyed map of daily exchange rates to the quote currency, the date range covered, and source metadata including provider name (Frankfurter/ECB), fetch timestamp, expiry, and source URL.

## 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",
     "required": [
      "from",
      "to",
      "start",
      "end"
     ],
     "properties": {
      "to": {
       "type": "string",
       "pattern": "^[A-Z]{3}$",
       "maxLength": 3,
       "description": "Quote currency."
      },
      "end": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "maxLength": 10,
       "description": "YYYY-MM-DD."
      },
      "from": {
       "type": "string",
       "pattern": "^[A-Z]{3}$",
       "maxLength": 3,
       "description": "Base currency."
      },
      "start": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "maxLength": 10,
       "description": "YYYY-MM-DD."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "base": "EUR",
  "rates": {
   "2026-09-01": {
    "USD": 1.159
   },
   "2026-09-02": {
    "USD": 1.1578
   },
   "2026-09-03": {
    "USD": 1.1615
   },
   "2026-09-04": {
    "USD": 1.1622
   }
  },
  "amount": 1,
  "source": {
   "provider": "Frankfurter / ECB reference data",
   "expires_at": "2026-10-03T09:44:50.475Z",
   "fetched_at": "2026-10-02T09:44:50.475Z",
   "source_url": "https://api.frankfurter.dev/v1/2026-09-01..2026-09-04?base=EUR&symbols=USD",
   "transformed": true
  },
  "end_date": "2026-09-04",
  "start_date": "2026-09-01"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signaldesk-ai-fx-history-34a519d1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-agent.kariguetoazul.workers.dev](https://www.zero.xyz/host/x402-agent.kariguetoazul.workers.dev/llms.txt)
