FX Reference Rates

Convert an amount between any two covered currencies at an ECB fixing (latest or dated) — the invoicing workhorse

OtherLiveeip155:8453Exactvia cdp
FxExchange-ratesCurrencyEcbConvert
Settlements · 30d
19↑ 250%
No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days.
$2.07
Verified settled volume
223 settlements proven x402 by their on-chain EIP-3009 marker.
$0.0030
Listed price
As published in the catalog. Always read the live 402 before paying.
2
Calls · 30d
Upstream's own call count for this endpoint, not ours.
1
Unique payers · 30d
Last called 2026-07-20 23:46Z
Upstream on-chain volume
Reported by the source catalog.
Paid to
0x54ebFCF3870439B9db62381848c5DabC05c70d5B

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Live 402 challenge

Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.

{
  "error": "payment required",
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0x54ebFCF3870439B9db62381848c5DabC05c70d5B",
      "amount": "3000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 60
    }
  ],
  "resource": {
    "url": "https://x402.professorsausages.com/fx-rates/convert",
    "tags": [
      "fx",
      "exchange-rates",
      "currency",
      "ecb",
      "convert"
    ],
    "mimeType": "application/json",
    "description": "Convert an amount between any two covered currencies at an ECB fixing (latest or dated) — the invoicing workhorse",
    "serviceName": "FX Reference Rates"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "to": "Target currency, e.g. USD",
            "date": "Fixing date YYYY-MM-DD (default latest)",
            "from": "Source currency, e.g. EUR",
            "amount": "Amount > 0, e.g. 1250.00"
          }
        },
        "output": {
          "type": "object",
          "required": [
            "rateType",
            "rateDate",
            "staleDays",
            "from",
            "to",
            "amount",
            "rate",
            "converted",
            "convertedRounded",
            "source",
            "disclaimer"
          ],
          "properties": {
            "to": {
              "type": "string"
            },
            "from": {
              "type": "string"
            },
            "rate": {
              "type": "number"
            },
            "amount": {
              "type": "number"
            },
            "source": {
              "enum": [
                "European Central Bank"
              ],
              "type": "string"
            },
            "rateDate": {
              "type": "string",
              "description": "ECB fixing date (YYYY-MM-DD) backing this answer."
            },
            "rateType": {
              "enum": [
                "ecb-daily-reference"
              ],
              "type": "string",
              "description": "Daily reference rates — NOT live trading rates."
            },
            "converted": {
              "type": "number"
            },
            "staleDays": {
              "type": "integer",
              "description": "Weekdays since the fixing; 0 = current."
            },
            "disclaimer": {
              "type": "string"
            },
            "requestedDate": {
              "type": "string"
            },
            "convertedRounded": {
              "type": "string"
            }
          }
        }
      },
      "schema": {
        "type": "object",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object"
          },
          "output": {
            "type": "object"
          }
        }
      },
      "category": "reference",
      "routeTemplate": "https://x402.professorsausages.com/fx-rates/convert"
    },
    "sample": {
      "url": "https://x402.professorsausages.com/fx-rates/sample",
      "hint": "A real cached response from this API (with its capture timestamp), free — judge the data quality before paying."
    },
    "catalog": {
      "message": "29 more agent-ready APIs you can call the same way (x402 pay-per-call). Full free catalog at the catalog URL; each serves a FREE real sample record (freeSample link) — taste before you pay. A few you might want:",
      "services": [
        {
          "call": "/token-safety?ref=xsell&v=menu&from=fx-rates",
          "name": "Token Safety Check",
          "summary": "On-chain token risk screening for agents",
          "freeSample": "/token-safety/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/address-screen?ref=xsell&v=menu&from=fx-rates",
          "name": "Address Risk Screen",
          "summary": "Crypto address risk screening for agents",
          "freeSample": "/address-screen/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/sanctions-screen?ref=xsell&v=menu&from=fx-rates",
          "name": "OFAC Sanctions Name Screen",
          "summary": "Fuzzy OFAC name screening for agents with compliance duties",
          "freeSample": "/sanctions-screen/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/email-check?ref=xsell&v=menu&from=fx-rates",
          "name": "Email Deliverability Check",
          "summary": "Part of the Trust & Verification suite — verify anything, pay-per-check",
          "freeSample": "/email-check/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/domain-intel?ref=xsell&v=menu&from=fx-rates",
          "name": "Domain Intel (RDAP + DNS)",
          "summary": "Domain registration truth + DNS posture for agents, pay-per-check — part of the Trust & Verification suite…",
          "freeSample": "/domain-intel/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/url-screen?ref=xsell&v=menu&from=fx-rates",
          "name": "Malicious URL Screen",
          "summary": "Phishing & malicious-URL screening for agents — hand over any http(s) URL and get a structured risk verdict…",
          "freeSample": "/url-screen/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/phone-check?ref=xsell&v=menu&from=fx-rates",
          "name": "Phone Number Validation",
          "summary": "Phone-number validation for agents — is this number real, what region and line type, and its canonical E.16…",
          "freeSample": "/phone-check/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/swap-quote?ref=xsell&v=menu&from=fx-rates",
          "name": "DEX Swap Quote",
          "summary": "Read-only on-chain swap pricing for agents",
          "freeSample": "/swap-quote/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/gas-oracle?ref=xsell&v=menu&from=fx-rates",
          "name": "Multichain Gas Oracle",
          "summary": "Live multi-chain gas oracle for on-chain agents",
          "freeSample": "/gas-oracle/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/prices?ref=xsell&v=menu&from=fx-rates",
          "name": "Crypto Prices (Chainlink)",
          "summary": "Decentralized crypto spot prices + oracle price history for on-chain agents, read DIRECTLY from Chainlink p…",
          "freeSample": "/prices/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/ens-resolve?ref=xsell&v=menu&from=fx-rates",
          "name": "ENS Resolver",
          "summary": "Spoof-safe ENS resolution for on-chain agents",
          "freeSample": "/ens-resolve/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/company?ref=xsell&v=menu&from=fx-rates",
          "name": "Company Enrichment (SEC EDGAR)",
          "summary": "Company enrichment for agents — hand over a ticker, CIK, or name and get ground-truth SEC identity plus fin…",
          "freeSample": "/company/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/sec-10k?ref=xsell&v=menu&from=fx-rates",
          "name": "SEC Annual Report (10-K)",
          "summary": "U.S",
          "freeSample": "/sec-10k/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/sec-10q?ref=xsell&v=menu&from=fx-rates",
          "name": "SEC Quarterly Report (10-Q)",
          "summary": "U.S",
          "freeSample": "/sec-10q/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/sec-8k?ref=xsell&v=menu&from=fx-rates",
          "name": "SEC Current Report (8-K)",
          "summary": "U.S",
          "freeSample": "/sec-8k/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/insider-trades?ref=xsell&v=menu&from=fx-rates",
          "name": "Insider Trades",
          "summary": "SEC Form 4 insider transactions made agent-ready — who's buying and selling their own company's stock, norm…",
          "freeSample": "/insider-trades/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/13f-holdings?ref=xsell&v=menu&from=fx-rates",
          "name": "13F Institutional Holdings",
          "summary": "What every institutional manager actually holds, made agent-ready — normalized SEC 13F-HR portfolios for ~8…",
          "freeSample": "/13f-holdings/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/macro?ref=xsell&v=menu&from=fx-rates",
          "name": "US Macro Indicators",
          "summary": "WIP / FREE (BETA) — currently free while data coverage and freshness are expanded; pricing returns once pro…",
          "freeSample": "/macro/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/patent?ref=xsell&v=menu&from=fx-rates",
          "name": "US Patent Search",
          "summary": "WIP / FREE (BETA) — currently free; the corpus is a small curated slice of landmark patents while the full…",
          "freeSample": "/patent/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/ipo-calendar?ref=xsell&v=menu&from=fx-rates",
          "name": "IPO Calendar",
          "summary": "The US IPO pipeline straight from SEC EDGAR — public domain, no paid feed",
          "freeSample": "/ipo-calendar/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/weather?ref=xsell&v=menu&from=fx-rates",
          "name": "Weather & Forecast",
          "summary": "Weather for agents — the canonical tool call, pay-per-use",
          "freeSample": "/weather/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/news?ref=xsell&v=menu&from=fx-rates",
          "name": "Multi-Source News",
          "summary": "Multi-source, agent-ready news — headlines, keyword search, and a sentiment timeline over a deduped rolling…",
          "freeSample": "/news/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/reader?ref=xsell&v=menu&from=fx-rates",
          "name": "Web Reader & Screenshot",
          "summary": "Give your agent a real browser",
          "freeSample": "/reader/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/convert?ref=xsell&v=menu&from=fx-rates",
          "name": "Document Convert (PDF/Image → Text)",
          "summary": "Document conversion tools for agents — hand over any PDF or image (public URL, base64, or raw POSTed bytes,…",
          "freeSample": "/convert/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/nft?ref=xsell&v=menu&from=fx-rates",
          "name": "NFT Insight (Scam Check, Owners)",
          "summary": "NFT collection intelligence for agents — Ethereum now, Base next",
          "freeSample": "/nft/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/sfx?ref=xsell&v=menu&from=fx-rates",
          "name": "8-bit SFX Generator",
          "summary": "Deterministic 8-bit sound-effect synthesis for agents — game-ready WAVs from a seed or preset in one paid c…",
          "freeSample": "/sfx/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/icons?ref=xsell&v=menu&from=fx-rates",
          "name": "Icon Search",
          "summary": "Inline SVG icons for agents building UIs without CDN access — CSP blocks icon CDNs and hand-drawn path data…",
          "freeSample": "/icons/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/pokemon?ref=xsell&v=menu&from=fx-rates",
          "name": "Pokemon API",
          "summary": "Pokemon knowledge base for agents",
          "freeSample": "/pokemon/sample?ref=xsell&v=menu&from=fx-rates"
        },
        {
          "call": "/minecraft?ref=xsell&v=menu&from=fx-rates",
          "name": "Minecraft Data",
          "summary": "Minecraft game data for agents — look up any block or item by name with properties, ids and metadata, list…",
          "freeSample": "/minecraft/sample?ref=xsell&v=menu&from=fx-rates"
        }
      ],
      "strategy": "menu",
      "catalogUrl": "https://x402.professorsausages.com/?ref=402&v=menu&from=fx-rates"
    },
    "suggest": {
      "url": "https://x402.professorsausages.com/suggest",
      "hint": "Missing data you'd pay for? POST {want, would_pay_usd} — free. The most-requested datasets get built first."
    },
    "discount": {
      "off": "50%",
      "hint": "Send X-Intent: <40+ chars describing what you're building and what data you need> for 50% off this call.",
      "header": "X-Intent"
    }
  },
  "x402Version": 2
}

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.003USDC≈ $0.003 USD
on Base · exact scheme

Pay 0.003 USDC on Base to 0x54eb…70d5B. The signed payment is good for 1 minute.

USD Coin contract
0x8335…02913
Payment window
1 minute
As published
3000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0x54ebFCF3870439B9db62381848c5DabC05c70d5B",
    "amount": "3000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 60
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "to": "Target currency, e.g. USD",
          "date": "Fixing date YYYY-MM-DD (default latest)",
          "from": "Source currency, e.g. EUR",
          "amount": "Amount > 0, e.g. 1250.00"
        }
      },
      "output": {
        "type": "object",
        "required": [
          "rateType",
          "rateDate",
          "staleDays",
          "from",
          "to",
          "amount",
          "rate",
          "converted",
          "convertedRounded",
          "source",
          "disclaimer"
        ],
        "properties": {
          "to": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "source": {
            "enum": [
              "European Central Bank"
            ],
            "type": "string"
          },
          "rateDate": {
            "type": "string",
            "description": "ECB fixing date (YYYY-MM-DD) backing this answer."
          },
          "rateType": {
            "enum": [
              "ecb-daily-reference"
            ],
            "type": "string",
            "description": "Daily reference rates — NOT live trading rates."
          },
          "converted": {
            "type": "number"
          },
          "staleDays": {
            "type": "integer",
            "description": "Weekdays since the fixing; 0 = current."
          },
          "disclaimer": {
            "type": "string"
          },
          "requestedDate": {
            "type": "string"
          },
          "convertedRounded": {
            "type": "string"
          }
        }
      }
    },
    "schema": {
      "type": "object",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object"
        },
        "output": {
          "type": "object"
        }
      }
    },
    "category": "reference",
    "routeTemplate": "https://x402.professorsausages.com/fx-rates/convert"
  },
  "sample": {
    "url": "https://x402.professorsausages.com/fx-rates/sample",
    "hint": "A real cached response from this API (with its capture timestamp), free — judge the data quality before paying."
  },
  "catalog": {
    "message": "This endpoint is 1 of 22 pay-per-call APIs for agents — all same x402 payment + auth. Browse the full menu free (no payment) at the catalog URL; every API serves a free real sample record at /<api>/sample.",
    "strategy": "minimal",
    "catalogUrl": "https://x402.professorsausages.com/?ref=402&v=minimal&from=fx-rates"
  },
  "suggest": {
    "url": "https://x402.professorsausages.com/suggest",
    "hint": "Missing data you'd pay for? POST {want, would_pay_usd} — free. The most-requested datasets get built first."
  },
  "discount": {
    "off": "50%",
    "hint": "Send X-Intent: <40+ chars describing what you're building and what data you need> for 50% off this call.",
    "header": "X-Intent"
  }
}

Provenance

Seen in the source catalog
2026-07-20 23:46Z
Last indexed by Roundhouse
2026-07-23 06:10Z
Last enriched (probe, favicon, geo)
2026-09-02 04:15Z
x402 version
2
Max timeout
60s
Liveness probe
HTTP 400
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

No per-endpoint history for this service yet, so this is payments indexed to its PROVIDER's wallet over 30 days. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service FX Reference Rates and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=FX%20Reference%20Rates'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://x402.professorsausages.com/fx-rates/convert, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://app.roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://app.roundhouseai.io/skill.md first — it is the whole procedure.