Przejdź do głównej zawartości

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

ParameterTypeRequiredDescription
fullbooleanNoReturn full currency details including name, blockchain, token info (default: false)
min_maxbooleanNoInclude minimum and maximum amount limits (default: false)
include_usdbooleanNoInclude USD equivalent values for min/max amounts (requires min_max=true)
withdrawalbooleanNoGet 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

FieldTypeDescriptionWhen Included
currencystringCurrency code used in API calls (e.g., "USDTTRC20")Always (or as array element if no params)
namestringFull currency nameWhen full=true
tokenstringToken symbol in lowercase (e.g., "usdt")When full=true
blockchainstringBlockchain code in lowercase (e.g., "trx")When full=true
is_popularbooleanWhether this is a popular currencyWhen full=true
is_stablebooleanWhether this is a stablecoinWhen full=true
min_amountstringMinimum payment/withdrawal amountWhen min_max=true
max_amountstringMaximum payment/withdrawal amountWhen min_max=true
min_amount_usdstringMinimum amount in USDWhen min_max=true AND include_usd=true
max_amount_usdstringMaximum amount in USDWhen 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 Polygon
  • USDTBSC - USDT on Binance Smart Chain
  • ETH - Native Ethereum
  • MATIC - Native Polygon

Supported Networks

Network CodeNetwork NameType
ETHEthereumEVM
POLYGONPolygon (Matic)EVM
BSCBinance Smart ChainEVM
ARBArbitrumEVM L2
BASEBaseEVM L2
OPTIMISMOptimismEVM L2
TRXTronNon-EVM
TRONTronNon-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

  1. Cache currency data: Currency information changes infrequently, so cache the response for 5-10 minutes

  2. 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
  3. Display considerations:

    • Show network name alongside currency
    • Display estimated fees upfront
    • Indicate confirmation times
  4. Validation: Always validate currency codes against this endpoint before creating payments

  5. Error handling: Handle cases where currencies may be temporarily disabled