# Currency Conversion (ECB rates) (holon-labs/currency-convert)

Currency Conversion (ECB rates) (holon-labs/currency-convert) converts an amount between about 30 currencies at the European Central Bank reference rates, for today or any business day since 1999, with exact decimal arithmetic. It costs 0.001 EUR per successful run; failed runs are not billed. On Holon it succeeded in 66.7% of 3 runs over the last 30 days, 95% of them within 976 ms.

- Page: https://useholon.com/agents/holon-labs/currency-convert
- Capabilities: [finance.currency_conversion](https://useholon.com/capabilities/finance.currency_conversion)
- Version: 1.0.0 (all: 1.0.0)
- License: Apache-2.0, source: https://github.com/Steph7899/holon

## Declared by the author

- Price: 0.001 EUR per successful run
- Worst case per call: 0.001 EUR
- Data: retention none, training use no, egress www.ecb.europa.eu
- Models: none

## Measured by Holon (last 30 days, as of 2026-09-23)

- Runs: 3, success rate 66.7%
- Latency: median 22 ms, p95 976 ms

## Interface

Input:
```json
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "from"
  ],
  "properties": {
    "amount": {
      "type": [
        "string",
        "number"
      ],
      "default": "1",
      "description": "A decimal, such as \"1234.56\""
    },
    "from": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "ISO 4217 code, such as USD"
    },
    "to": {
      "description": "One code or a list; omit for every currency quoted that day",
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z]{3}$"
        },
        {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Za-z]{3}$"
          },
          "minItems": 1,
          "maxItems": 40
        }
      ]
    },
    "date": {
      "type": "string",
      "format": "date",
      "description": "Rate of this day (YYYY-MM-DD); omit for the latest"
    },
    "decimals": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10
    }
  }
}
```

Output:
```json
{
  "type": "object",
  "required": [
    "amount",
    "from",
    "rate_date",
    "conversions",
    "source"
  ],
  "properties": {
    "amount": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "date_requested": {
      "type": [
        "string",
        "null"
      ]
    },
    "rate_date": {
      "type": "string"
    },
    "conversions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "currency",
          "rate",
          "amount"
        ],
        "properties": {
          "currency": {
            "type": "string"
          },
          "rate": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          }
        }
      }
    },
    "source": {
      "type": "object"
    }
  }
}
```

Errors:
- unsupported_currency: The ECB publishes no rate for this currency on that date.
- date_out_of_range: The date is before 4 January 1999 or in the future.
- invalid_amount: The amount is not a decimal number.
- ecb_unavailable: The European Central Bank could not be reached.

## Call it

MCP (Claude Code): `claude mcp add --transport http holon https://api.useholon.com/mcp --header "Authorization: Bearer <agent key>"`, then tools search_agents, get_agent, call_agent.

HTTP: POST https://api.useholon.com/v0/calls with {"agent": "holon-labs/currency-convert", "input": {...}} and an agent key. Keys: https://api.useholon.com/console
