List Supported Currencies
Overview
Retrieve all currencies supported by SyncPay, organized by type (fiat and cryptocurrency). This endpoint provides a comprehensive list of currencies you can accept payments in and pay out to.
Use this endpoint to:
- Display currency options to customers during checkout
- Validate currency inputs in your application
- Build multi-currency payment flows
- Understand which currencies are available for payins and payouts
Note: This is a public endpoint - no authentication is required.
Authentication
Type: None (Public endpoint)
No authentication required. The list of supported currencies is the same across all merchants and environments.
Request
Method & Path
GET /api/v1/payments/supported-currencies
Example Request
curl https://api.usesyncpay.com/api/v1/payments/supported-currencies
Response
200 – Success
Returns all supported currencies organized by type.
{
"fiat": [
"GHS",
"KES",
"NGN",
"TZS",
"UGX",
"USD",
"ZAR"
],
"crypto": [
"BTC",
"ETH",
"USDT_ERC20",
"USDT_TRC20"
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
fiat |
array | List of fiat currency codes (ISO 4217 format) |
crypto |
array | List of cryptocurrency codes with network identifiers |
Supported Fiat Currencies
| Currency Code | Currency Name | Region |
|---|---|---|
USD |
US Dollar | Global |
NGN |
Nigerian Naira | Nigeria |
GHS |
Ghanaian Cedi | Ghana |
KES |
Kenyan Shilling | Kenya |
TZS |
Tanzanian Shilling | Tanzania |
UGX |
Ugandan Shilling | Uganda |
ZAR |
South African Rand | South Africa |
Supported Cryptocurrencies
| Currency Code | Cryptocurrency | Network | Blockchain |
|---|---|---|---|
USDT_TRC20 |
Tether USDT | TRC20 | Tron |
USDT_ERC20 |
Tether USDT | ERC20 | Ethereum |
BTC |
Bitcoin | Native | Bitcoin |
ETH |
Ethereum | Native | Ethereum |
Cryptocurrency Currency Format
Cryptocurrencies with multiple networks use an underscore to separate the asset from the network:
- Format:
{ASSET}_{NETWORK} - Example:
USDT_TRC20= USDT on Tron network
For cryptocurrencies with a single network (like Bitcoin), no network suffix is used:
- Format:
{ASSET} - Example:
BTC= Bitcoin
Example Use Case
Scenario: Your marketplace platform operates across multiple countries. Sellers need to select their preferred payout currency based on their location and business needs. You need to display all available currencies organized by type (fiat and cryptocurrency) so sellers can make informed decisions about how they receive their earnings.
Implementation:
- Call
GET /api/v1/payments/supported-currencies - Display fiat currencies as "Traditional Currency" options
- Display crypto currencies as "Cryptocurrency" options
- When seller selects a currency, validate it's in the supported list
// Example: Get and display currencies
const response = await fetch('https://api.usesyncpay.com/api/v1/payments/supported-currencies');
const data = await response.json();
console.log('Fiat currencies:', data.fiat);
// ['GHS', 'KES', 'NGN', 'TZS', 'UGX', 'USD', 'ZAR']
console.log('Crypto currencies:', data.crypto);
// ['BTC', 'ETH', 'USDT_ERC20', 'USDT_TRC20']
Currency-Specific Features
Fiat Currencies
Payment Methods: Each fiat currency supports different payment methods based on the region:
- Bank Transfer: All fiat currencies
- Mobile Money: NGN, GHS, KES, TZS, UGX
- Card: USD, NGN, GHS, KES, ZAR
- USSD: NGN only
To see which payment methods support a specific currency, use the List Payment Methods endpoint.
Cryptocurrencies
Network Fees: Cryptocurrency transactions incur blockchain network fees:
- TRC20: Low fees (~$1 USD)
- ERC20: Higher fees (varies with Ethereum gas prices)
- BTC: Varies with network congestion
- ETH: Varies with network congestion
Confirmation Times:
- TRC20: 1-2 minutes
- ERC20: 3-5 minutes
- BTC: 30-60 minutes
- ETH: 3-5 minutes
Filtering Currencies by Payment Method
To see which currencies are supported for a specific payment method:
- Call List Payment Methods
- Find your desired payment method
- Check its
currenciesarray
Example:
// Get payment methods
const methodsResponse = await fetch('https://api.usesyncpay.com/api/v1/payments/payment-methods');
const methodsData = await methodsResponse.json();
// Find bank_transfer method
const bankTransfer = methodsData.payment_methods.find(m => m.id === 'bank_transfer');
// See supported currencies for bank transfer
console.log(bankTransfer.currencies);
// ['USD', 'NGN', 'GHS', 'KES', 'ZAR']
Currency Validation
Use this endpoint to validate currency inputs in your application:
async function isValidCurrency(currency) {
const response = await fetch('https://api.usesyncpay.com/api/v1/payments/supported-currencies');
const data = await response.json();
const allCurrencies = [...data.fiat, ...data.crypto];
return allCurrencies.includes(currency.toUpperCase());
}
// Example usage
await isValidCurrency('NGN'); // true
await isValidCurrency('JPY'); // false
await isValidCurrency('USDT_TRC20'); // true
Important Notes
Currency Codes are Case-Sensitive
Always use uppercase currency codes in API requests:
- Correct:
USD,NGN,USDT_TRC20 - Incorrect:
usd,ngn,usdt_trc20
Dynamic Currency List
The list of supported currencies may expand as SyncPay adds support for new regions and cryptocurrencies. Always call this endpoint dynamically rather than hardcoding currency lists in your application.
Payout vs Payin Support
This endpoint shows currencies available for accepting payments (payins). For payout-supported currencies, use:
Not all payin currencies are available for payouts due to provider limitations.
Common Questions
Can I accept payments in multiple currencies?
Yes! SyncPay supports multi-currency checkouts. When creating a checkout, you can:
- Set a base currency (e.g., USD)
- Allow customers to pay in any supported currency
- Let customers choose their preferred currency at checkout
See Create Checkout for details.
How are exchange rates calculated?
When a customer pays in a currency different from your base currency:
- SyncPay fetches real-time exchange rates
- Settles to your account in the customer's payment currency or USD.
Use the Create Quote endpoint to get real-time exchange rates before completing a transaction.
Related Endpoints
- List Payment Methods - See which payment methods support each currency
- Create Quote - Get real-time exchange rates between currencies
- Create Checkout - Create a multi-currency checkout
- Get Payout Supported Currencies - See payout-specific currencies
Next Steps
Now that you know which currencies are supported:
- Explore payment methods for each currency
- Create a checkout to start accepting payments
- Get a quote for real-time pricing