Currencyinfo
Self-hosted crypto and fiat reference rates for wallets, payments and backend services
-
CoinPaprika -
CoinLore -
Binance -
Currency API -
ExchangeRate-API
-
CoinGecko -
CoinMarketCap -
ExchangeRate.host -
MOEX
-
CryptoCompare
Currencyinfo cross-checks up to ten independent sources and serves a single rate you can trust.
Completely free, open-source and self-hosted. Five default sources work with no API keys at all.
Serves current rates and a history that accumulates in your own MongoDB.
GET http://127.0.0.1:36661/get?coin=adm,btc
{
"success": true,
"date": 1720721910858,
"result": {
"BTC/USD": 57840.874202345425,
"ADM/USD": 0.029531587036,
"BTC/CNY": 419808.6022324644,
"ADM/CNY": 0.214340022454,
"ADM/BTC": 5.10566e-7
},
"last_updated": 1720721902292,
"version": "4.2.0"
}
"success": true,
"date": 1720721910858,
"result": {
"BTC/USD": 57840.874202345425,
"ADM/USD": 0.029531587036,
"BTC/CNY": 419808.6022324644,
"ADM/CNY": 0.214340022454,
"ADM/BTC": 5.10566e-7
},
"last_updated": 1720721902292,
"version": "4.2.0"
}
Absolutely straightforward REST API
| Currencyinfo | Other services | |
|---|---|---|
Transparency | Open-source | Black box |
Price | Free | Subscription |
Installation | Self-hosted | Hosted by a third party |
Sources | Combines up to ten independent sources | Relies on a single source |
Feedback | Alerts via Slack, Discord and ADAMANT | Silent when something breaks |
API | Simple: /get and /getHistory | Complex and poorly documented |
1. Sources
Every enabled provider is polled on its own schedule.
2. Validation
Pairs are normalised; zero and non-finite cross rates are rejected.
3. Aggregation
Divergent quotes are detected, sources are weighted and merged, and minSources decides whether a pair is published.
4. History
Every snapshot is written to your own MongoDB and stays there.
5. REST API
/get returns current rates, /getHistory returns stored ones.
How a rate is produced
docker run -d \
--name currencyinfo \
-p 36661:36661 \
-v "$(pwd)/config.jsonc:/usr/src/currencyinfo/config.jsonc:ro" \
ghcr.io/adamant-im/currencyinfo:latest
--name currencyinfo \
-p 36661:36661 \
-v "$(pwd)/config.jsonc:/usr/src/currencyinfo/config.jsonc:ro" \
ghcr.io/adamant-im/currencyinfo:latest
One configuration file and one command. The default sources need no API key.

