Currencies
Get information about all supported cryptocurrencies in the Cryptofuse system.
List All Currencies
GET
/currencies/
Returns a comprehensive list of all supported cryptocurrencies with detailed information including networks, limits, and current rates.
Authentication
Requires OAuth 2.0 authentication with read scope.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
full | boolean | No | Return full currency details including name, blockchain, token info (default: false) |
min_max | boolean | No | Include minimum and maximum amount limits (default: false) |
include_usd | boolean | No | Include USD equivalent values for min/max amounts (requires min_max=true) |
withdrawal | boolean | No | Get currencies available for withdrawal instead of deposits (default: false) |
Example Requests
Simple currency list (default)
curl -X GET https://api.cryptofuse.io/currencies/ \
-H "Authorization: Bearer your_access_token"
Full details with limits
curl -X GET "https://api.cryptofuse.io/currencies/?full=true&min_max=true&include_usd=true" \
-H "Authorization: Bearer your_access_token"
Withdrawal currencies
curl -X GET "https://api.cryptofuse.io/currencies/?withdrawal=true&full=true&min_max=true" \
-H "Authorization: Bearer your_access_token"
Response
Simple Response (default)
{
"currencies": ["USDTTRC20", "USDTARB", "USDTERC20", "BTC", "ETH"]
}
Full Response (with full=true, min_max=true, include_usd=true)
{
"currencies": [
{
"currency": "USDTTRC20",
"name": "Tether USD",
"token": "usdt",
"blockchain": "trx",
"is_popular": true,
"is_stable": true,
"min_amount": "10.00000000",
"max_amount": "100000.00000000",
"min_amount_usd": "10.00",
"max_amount_usd": "100000.00"
},
{
"currency": "USDTARB",
"name": "Tether USD",
"token": "usdt",
"blockchain": "arb",
"is_popular": true,
"is_stable": true,
"min_amount": "10.00000000",
"max_amount": "100000.00000000",
"min_amount_usd": "10.00",
"max_amount_usd": "100000.00"
},
{
"currency": "ETH",
"name": "Ethereum",
"token": "eth",
"blockchain": "eth",
"is_popular": true,
"is_stable": false,
"min_amount": "0.00500000",
"max_amount": "100.00000000",
"min_amount_usd": "11.73",
"max_amount_usd": "234567.00"
}
]
}
Response Fields
| Field | Type | Description | When Included |
|---|---|---|---|
currency | string | Currency code used in API calls (e.g., "USDTTRC20") | Always (or as array element if no params) |
name | string | Full currency name | When full=true |
token | string | Token symbol in lowercase (e.g., "usdt") | When full=true |
blockchain | string | Blockchain code in lowercase (e.g., "trx") | When full=true |
is_popular | boolean | Whether this is a popular currency | When full=true |
is_stable | boolean | Whether this is a stablecoin | When full=true |
min_amount | string | Minimum payment/withdrawal amount | When min_max=true |
max_amount | string | Maximum payment/withdrawal amount | When min_max=true |
min_amount_usd | string | Minimum amount in USD | When min_max=true AND include_usd=true |
max_amount_usd | string | Maximum amount in USD | When min_max=true AND include_usd=true |
Currency Codes
Currency codes follow the pattern: {TOKEN}{NETWORK}
Examples:
USDTERC20- USDT on Ethereum (ERC20)USDTTRC20- USDT on Tron (TRC20)USDTPOLYGON- USDT on PolygonUSDTBSC- USDT on Binance Smart ChainETH- Native EthereumMATIC- Native Polygon
Supported Networks
| Network Code | Network Name | Type |
|---|---|---|
ETH | Ethereum | EVM |
POLYGON | Polygon (Matic) | EVM |
BSC | Binance Smart Chain | EVM |
ARB | Arbitrum | EVM L2 |
BASE | Base | EVM L2 |
OPTIMISM | Optimism | EVM L2 |
TRX | Tron | Non-EVM |
TRON | Tron | Non-EVM |
Error Responses
401 Unauthorized
{
"error": {
"code": "authentication_failed",
"message": "Invalid or missing authentication token"
}
}
Usage Examples
Display Payment Options
async function getPaymentOptions(accessToken) {
// Get full details with limits
const response = await fetch(
'https://api.cryptofuse.io/currencies/?full=true&min_max=true&include_usd=true',
{
headers: {
'Authorization': `Bearer ${accessToken}`
}
}
);
const data = await response.json();
// Filter stablecoins for payment
const stablecoins = data.currencies.filter(c => c.is_stable);
stablecoins.forEach(currency => {
console.log(`${currency.name} (${currency.currency})`);
console.log(` Network: ${currency.blockchain}`);
console.log(` Min: ${currency.min_amount} (${currency.min_amount_usd} USD)`);
console.log(` Max: ${currency.max_amount} (${currency.max_amount_usd} USD)`);
});
}
Check Currency Support
def is_currency_supported(currency_code, access_token):
"""Check if a specific currency is supported."""
# Simple check - just get currency codes
response = requests.get(
'https://api.cryptofuse.io/currencies/',
headers={'Authorization': f'Bearer {access_token}'}
)
if response.status_code == 200:
data = response.json()
# For simple request, currencies is an array of strings
return currency_code in data['currencies']
return False
# Check if USDTTRC20 is supported
access_token = 'your_access_token'
if is_currency_supported('USDTTRC20', access_token):
print("USDT on Tron is supported!")
Get Withdrawal Currencies with Balances
async function getWithdrawalOptions(accessToken) {
// Get withdrawal currencies with limits
const response = await fetch(
'https://api.cryptofuse.io/currencies/?withdrawal=true&full=true&min_max=true',
{
headers: {
'Authorization': `Bearer ${accessToken}`
}
}
);
const data = await response.json();
// Only currencies with positive balance are returned for withdrawals
data.currencies.forEach(currency => {
console.log(`${currency.name}: ${currency.min_amount} - ${currency.max_amount}`);
});
}
Important Notes
- Currency codes are case-sensitive
- Network fees are estimates and may vary based on network congestion
- Minimum amounts include network fees if user pays fees
- Exchange rates are updated every minute
- Some currencies may be temporarily disabled during maintenance
- Contract addresses are provided for token verification
Next Steps
Best Practices
-
Cache currency data: Currency information changes infrequently, so cache the response for 5-10 minutes
-
Network selection: Help users choose the right network based on:
- Fees: Layer 2 networks (Arbitrum, Base, Optimism) have lower fees
- Speed: Different networks have different confirmation times
- Availability: Check user's wallet supports the network
-
Display considerations:
- Show network name alongside currency
- Display estimated fees upfront
- Indicate confirmation times
-
Validation: Always validate currency codes against this endpoint before creating payments
-
Error handling: Handle cases where currencies may be temporarily disabled