Free rates API
Two JSON endpoints, no key required. Responses are cached for about 60 seconds and come from CoinGecko mid-market data with fallbacks (see the methodology). They are reference rates, not exchange or P2P quotes.
Mid-market rate for P2P premium
Returns the mid-market rate of a coin in one or more fiat currencies. If you pass the price of a P2P ad as ask, it also returns the premium.
GET https://cryptonic.tools/api/premium
GET https://cryptonic.tools/api/premium?fiat=pkr
GET https://cryptonic.tools/api/premium?fiat=pkr&ask=295
GET https://cryptonic.tools/api/premium?coin=btc&fiat=inrParameters
coin: crypto symbol, defaultusdtfiat: one currency code (pkr, inr, ngn, idr, brl, try, aed, usd…). Omit for the default set.ask: your ad price per coin; requiresfiat
Example response
{
"data": [{
"coin": "USDT", "fiat": "PKR",
"mid_market": 276.61, "source": "coingecko",
"updated_at": "2026-10-06T18:36:33.575Z",
"ask": 295, "premium_pct": 6.6483, "extra_per_unit": 18.39
}],
"attribution": "CryptonicTools (https://cryptonic.tools/tools/p2p-premium)"
}premium_pct = (ask − mid) / mid × 100. We publish only the mid-market side; ask prices come from you. Nothing is scraped from P2P venues.
Single pair rate with 7-day chart
GET https://cryptonic.tools/api/convert?from=btc&to=usdReturns rate, updatedAt, source and a 7-day chart of { time, price } points. Symbols match the pair pages, for example btc, eth, usdt, usd, inr, pkr.
Limits and etiquette
- 60 requests per minute per IP. Over the limit you get HTTP 429 and a
Retry-Afterheader. - Cache on your side for at least a minute; the data does not change faster.
- A link back to CryptonicTools is appreciated when you display the data.
- No uptime guarantee. For anything financial, confirm rates on your own venue.