Call when an agent needs ECB daily FX rates, an as_of date, and an optional conv
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.
Not tested: has real-world effectsour last check, 2026-10-11
0 of 0checks answered this week
n/amedian answer time
$0.002listed price per call
n/aprice it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://agentshelf.syntexa.ch/v1/fx-rates
| Category | Code and developer |
|---|---|
| Provider host | agentshelf.syntexa.ch |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"amount": 10,
"base": "EUR",
"quote": "USD"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"examples": [
{
"amount": 10,
"base": "EUR",
"quote": "USD"
}
],
"properties": {
"amount": {
"description": "Amount of base to convert into quote. Example: 10. Requires quote. Returns converted plus the per-unit rates map.",
"examples": [
10
],
"exclusiveMinimum": 0,
"maximum": 1000000000,
"type": "number"
},
"base": {
"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.",
"examples": [
"EUR"
],
"maxLength": 3,
"minLength": 3,
"pattern": "^[A-Z]{3}$",
"type": "string"
},
"quote": {
"description": "ISO 4217 quote currency. Example: USD. Omit it to return the full ECB rate map for base. Required when amount is set.",
"examples": [
"USD"
],
"maxLength": 3,
"minLength": 3,
"pattern": "^[A-Z]{3}$",
"type": "string"
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": false,
"examples": [
{
"amount": 10,
"as_of": "2026-09-28",
"base": "EUR",
"billed": true,
"converted": 11.4,
"ok": true,
"provider": "frankfurter",
"quote": "USD",
"rates": {
"USD": 1.14
},
"receipt_id": "rcpt_01EXAMPLE000000000000000",
"warnings": []
}
],
"properties": {
"amount": {
"examples": [
10
],
"type": [
"number",
"null"
]
},
"as_of": {
"examples": [
"2026-09-28"
],
"type": "string"
},
"base": {
"examples": [
"EUR"
],
"type": "string"
},
"billed": {
"examples": [
true
],
"type": "boolean"
},
"converted": {
"examples": [
11.4
],
"type": [
"number",
"null"
]
},
"ok": {
"const": true,
"examples": [
true
],
"type": "boolean"
},
"provider": {
"const": "frankfurter",
"examples": [
"frankfurter"
],
"type": "string"
},
"quote": {
"examples": [
"USD"
],
"type": [
"string",
"null"
]
},
"rates": {
"additionalProperties": {
"type": "number"
},
"examples": [
{
"USD": 1.14
}
],
"type": "object"
},
"receipt_id": {
"examples": [
"rcpt_01EXAMPLE000000000000000"
],
"type": "string"
},
"warnings": {
"default": [],
"examples": [
[]
],
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"ok",
"receipt_id",
"billed",
"base",
"quote",
"amount",
"converted",
"rates",
"as_of",
"provider"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}