Convert crypto to fiat and vice-versa instantly.
- Top 100+ Cryptocurrencies Supported
- 20+ fiats Supported
- Instantly convert, no slow promises.
- Cross-compatible on Node.js & Browser
- Price & Ticker information updated on a configurable interval from multiple secure sources (Binance, Bitfinex, Coinbase, Kraken)
- Any pair can be converted, be it Crypto -> Crypto or Fiat -> Crypto.
Free public API
https://api.coinconvert.net/convert/btc/usd?amount=1
npm i crypto-convert
import CryptoConvert from 'crypto-convert';
Or with require
, import it like this to get TypeScript:
const CryptoConvert = require("crypto-convert").default;
<script src='https://coinconvert.net/assets/js/crypto-convert.min.js'></script>
const convert = new CryptoConvert(/*options?*/);
(async function(){
await convert.ready(); //Wait for the initial cache to load
convert.BTC.USD(1);
convert.ETH.JPY(255);
convert.LINK.LTC(5);
convert.USD.CRO(100.1256);
//... convert any pair
// prices are automatically updated on background
})();
Note
: You should only initialize the CryptoConvert class once. It's recommend to make a seperate file for it.
Here are some of the options you can specify on initialization:
new CryptoConvert({
cryptoInterval: 5000, //Crypto prices update interval in ms (default 5 seconds on Node.js & 15 seconds on Browsers)
fiatInterval: (60 * 1e3 * 60), //Fiat prices update interval (default every 1 hour)
calculateAverage: true, //Calculate the average crypto price from exchanges
binance: true, //Use binance rates
bitfinex: true, //Use bitfinex rates
coinbase: true, //Use coinbase rates
kraken: true, //Use kraken rates
onUpdate: (tickers, isFiatUpdate?)=> any //Callback on every crypto update
HTTPAgent: null //HTTP Agent for server-side proxies (Node.js only)
});
Get crypto prices last updated timestamp (ms)
console.log(convert.lastUpdated)
// Prints:
// 1664657163857
Get the list supported currencies
console.log(convert.list);
// Prints:
// {
// crypto: ['BTC','ETH', ... + 148 more],
// fiats: ['USD', 'EUR', ... + 25 more]
// }
Get cryptocurrencies metadata (title/symbol/logo/rank)
console.log(convert.cryptoInfo);
// Prints:
// {
// BTC: {
// "id": 1,
// "title": "Bitcoin",
// "symbol": "BTC",
// "logo": "[logo_url]",
// "rank": 1
// }
// ETH: {
// ...
// }
// ... +148 more
// }
In cases when you want to support a custom currency you can do so like this:
convert.addCurrency(
'ANYCURRENCY', //Your custom currency symbol here
'USD', //The quote fiat price. Must be a supported fiat currency.
async ()=>{
//...call your api here
return price;
},
5000 //Update interval in ms
);
Adding custom plugins is useful for supporting more fiats, precious metals, or anything that can be exchanged.
For removing custom currencies:
convert.removeCurrency('ANYCURRENCY');