Multi-source by design
Ten connectors covering crypto exchanges, aggregators, and fiat providers. Five keyless sources are enabled by default, so a fresh install returns rates without any API key.
Rate sources
Aggregate crypto and fiat rates from many providers, validate them against each other, and serve them from your own infrastructure through one REST API.

Ten connectors covering crypto exchanges, aggregators, and fiat providers. Five keyless sources are enabled by default, so a fresh install returns rates without any API key.
Rate sources
Quotes are grouped by relative distance, the dominant group wins, and divergence beyond your threshold raises an alert instead of silently shifting a rate.
Rate calculation
No telemetry, no analytics, no third-party tracking. The service talks to the rate providers you enable and to your own MongoDB, and to nothing else.
Security
Every refresh cycle stores a full snapshot in MongoDB, queryable by interval, by point in time, and by pair.
Rate history
A NestJS service compiled with SWC plus MongoDB. One container, one database, no message broker, no cache tier.
Architecture
A single commented JSONC file, validated strictly at startup. Unknown keys, placeholder credentials, and impossible source combinations fail before the first request.
Configuration reference
docker run -d \
--name currencyinfo \
-p 36661:36661 \
-v "$(pwd)/config.jsonc:/usr/src/currencyinfo/config.jsonc:ro" \
ghcr.io/adamant-im/currencyinfo:latestcurl "http://localhost:36661/get?coin=BTC,ETH"{
"success": true,
"date": 1720472096540,
"result": {
"BTC/USD": 95120.45,
"BTC/EUR": 87510.2,
"ETH/USD": 3420.12
},
"last_updated": 1720472046060,
"version": "4.2.0"
}See the quick start for the configuration file and the Compose deployment.
Currencyinfo is an independent open-source product. Anyone who needs exchange rates without handing their traffic and their coin list to a single commercial API can self-host it: wallets, payment processors, trading tools, accounting systems, dashboards, and research pipelines.
ADAMANT is a production adopter and the project steward. ADAMANT Messenger clients query a Currencyinfo deployment for every fiat amount they display, and the ADAMANT developer community maintains this repository. Nothing in the service is ADAMANT-specific: the ADM coin is one entry in the default coin lists, and removing it changes nothing else.
/get, /getHistory, and /status