Public Endpoints
These endpoints are publicly accessible without authentication. Use them to display information in your UI before authentication.
Get Supported Fiat Currencies
Retrieve the list of fiat currencies supported for checkout payments.
GET /public/fiat-currencies
Response
{
"ok": true,
"data": [
{
"code": "USD",
"symbol": "$",
"name": "US Dollar",
"decimalPlaces": 2,
"coinGeckoId": "usd"
},
{
"code": "KRW",
"symbol": "W",
"name": "Korean Won",
"decimalPlaces": 0,
"coinGeckoId": "krw"
},
{
"code": "EUR",
"symbol": "E",
"name": "Euro",
"decimalPlaces": 2,
"coinGeckoId": "eur"
}
]
}
Fields
| Field | Type | Description |
|---|---|---|
code | string | ISO 4217 currency code |
symbol | string | Currency symbol |
name | string | Full currency name |
decimalPlaces | number | Standard decimal places for display |
coinGeckoId | string | CoinGecko API identifier |
Get Exchange Rates
Retrieve current exchange rates for stablecoins.
GET /public/exchange-rates
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
fiatCurrency | string | No | Filter by currency code (e.g., USD, KRW) |
Response (All Rates)
{
"ok": true,
"data": {
"rates": {
"USDC": {
"USD": "1.0",
"KRW": "1350.50",
"EUR": "0.92"
},
"USDT": {
"USD": "1.001",
"KRW": "1351.20",
"EUR": "0.921"
}
},
"timestamp": "2026-01-30T10:30:00.000Z",
"fiatCurrencies": [
{ "code": "USD", "symbol": "$", "name": "US Dollar" }
]
}
}
Response (Specific Currency)
GET /public/exchange-rates?fiatCurrency=KRW
{
"ok": true,
"data": {
"fiatCurrency": "KRW",
"rates": {
"USDC": "1350.50",
"USDT": "1351.20"
},
"timestamp": "2026-01-30T10:30:00.000Z"
}
}
Rate Caching
Exchange rates are cached with the following policy:
| Cache | TTL | Description |
|---|---|---|
| Fresh | 10 minutes | Returns cached rate immediately |
| Stale | 1 hour | Used as fallback if API fails |
tip
Pre-fetch exchange rates to display estimated amounts in your UI before creating a checkout.
Example: Display Price Preview
const displayPricePreview = async (priceKRW) => {
// Get exchange rates
const { data } = await fetch(
'https://api.volr.io/public/exchange-rates?fiatCurrency=KRW'
).then(r => r.json());
const usdcRate = parseFloat(data.rates.USDC);
const estimatedUsdc = (priceKRW / usdcRate).toFixed(2);
return {
fiat: `${priceKRW.toLocaleString()} KRW`,
crypto: `~${estimatedUsdc} USDC`,
rate: `1 USDC = ${usdcRate.toLocaleString()} KRW`,
rateTime: data.timestamp,
};
};
// Usage
const preview = await displayPricePreview(5000);
// { fiat: "5,000 KRW", crypto: "~3.70 USDC", rate: "1 USDC = 1,350.5 KRW" }