# RelayhopFX Currency Converter

> RelayhopFX Currency Converter is a paid API for AI agents from dns-email-hygiene.relayhop.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Converts a monetary amount between two currencies using ECB rates via Frankfurter, with a configurable synthetic bid/ask spread

## Facts

- Endpoint: GET https://dns-email-hygiene.relayhop.workers.dev/v1/fx/convert
- 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/dns-email-hygiene-relayhop-workers-dev-0e23f583
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HjooulL_wugcG68UYg8tw

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 dns-email-hygiene-relayhop-workers-dev-0e23f583
```

Example prompt: Convert 250 USD to EUR using a 30 basis point bid/ask spread and tell me the effective rate I'd get.

## When to prefer this

Use this endpoint when you need a quick, keyless FX conversion using ECB reference rates with a realistic market spread baked in. Ideal for fintech agents, payment calculators, or any workflow needing a transparent bid/ask quote without requiring an API key or broker account.

## Known failure modes

- Unsupported or invalid ISO currency code returns an error
- Amount not parseable as a number returns a validation error
- spread_bps out of range (0-1000) returns an error
- ECB/Frankfurter upstream unavailable causes service error
- Missing required query parameters fall back to defaults (from=USD, to=EUR, amount=1, spread_bps=50)

## How this service works

Convert an amount between two currencies with synthesized bid/ask spread and effective rate. Query: ?from=USD&to=EUR&amount=100&spread_bps=50. Source: ECB via frankfurter (keyless).

## Output

Returns the converted amount in the target currency, the base ECB exchange rate, and the effective rate after applying the synthesized bid/ask spread in basis points.

## Example request

```json
{
 "input": {
  "to": "EUR",
  "from": "USD",
  "amount": "100",
  "spread_bps": "50"
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "to": {
     "in": "query",
     "type": "string",
     "description": "3-letter ISO code (default EUR)"
    },
    "from": {
     "in": "query",
     "type": "string",
     "description": "3-letter ISO code (default USD)"
    },
    "amount": {
     "in": "query",
     "type": "string",
     "description": "amount to convert (default 1)"
    },
    "spread_bps": {
     "in": "query",
     "type": "string",
     "description": "bid-ask spread in bps, 0-1000 (default 50)"
    }
   }
  },
  "output": {
   "type": "object"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dns-email-hygiene-relayhop-workers-dev-0e23f583/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from dns-email-hygiene.relayhop.workers.dev](https://www.zero.xyz/host/dns-email-hygiene.relayhop.workers.dev/llms.txt)
