Paycrest supports three stablecoins across eight blockchain networks. Use the GET /tokens endpoint for the live list including contract addresses, decimals, and network availability.
Stablecoin Overview
| Stablecoin | Networks | Base Currency | Notes |
|---|
| USDT | Ethereum, Base, Arbitrum One, Polygon, BNB Smart Chain, Lisk, Celo, Scroll | USD | Most widely supported |
| USDC | Ethereum, Base, Arbitrum One, Polygon, BNB Smart Chain, Lisk, Celo, Scroll | USD | Regulated, high security standards |
| cNGN | Ethereum, Base, Polygon, BNB Smart Chain | NGN | Stablecoin pegged to the Nigerian Naira |
Support Matrix
| Stablecoin | Ethereum | Base | Arbitrum One | Polygon | BNB Smart Chain | Lisk | Celo | Scroll |
|---|
| USDT | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| USDC | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| cNGN | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
Contract Addresses
BNB Smart Chain USDT and USDC use 18 decimals — not 6. All other chains use 6 decimals for USDT and USDC. Always fetch the decimals value from the GET /tokens endpoint rather than hardcoding it.
USDT
| Network | Contract Address | Decimals |
|---|
| Ethereum | 0xdAC17F958D2ee523a2206206994597C13D831ec7 | 6 |
| Base | 0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2 | 6 |
| Arbitrum One | 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 | 6 |
| Polygon | 0xc2132D05D31c914a87C6611C10748AEb04B58e8F | 6 |
| BNB Smart Chain | 0x55d398326f99059fF775485246999027B3197955 | 18 |
| Lisk | 0x05D032ac25d322df992303dCa074EE7392C117b9 | 6 |
| Celo | 0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e | 6 |
| Scroll | 0xf55BEC9cafDbE8730f096Aa55dad6D22d44099Df | 6 |
USDC
| Network | Contract Address | Decimals |
|---|
| Ethereum | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | 6 |
| Base | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 6 |
| Arbitrum One | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 | 6 |
| Polygon | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 | 6 |
| BNB Smart Chain | 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d | 18 |
| Lisk | 0xF242275d3a6527d877f2c927a82D9b057609cc71 | 6 |
| Celo | 0xcebA9300f2b948710d2653dD7B07f33A8B32118C | 6 |
| Scroll | 0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4 | 6 |
cNGN
| Network | Contract Address | Decimals |
|---|
| Ethereum | 0x17CDB2a01e7a34CbB3DD4b83260B05d0274C8dab | 6 |
| Base | 0x46C85152bFe9f96829aA94755D9f915F9B10EF5F | 6 |
| Polygon | 0x52828daa48C1a9A06F37500882b42daf0bE04C3B | 6 |
| BNB Smart Chain | 0xa8AEA66B361a8d53e8865c62D142167Af28Af058 | 6 |
Network Configuration
When creating orders, specify the stablecoin and network using the token and network parameters (v1) or via the source/destination objects (v2):
v2 API (recommended)
v1 API (legacy)
// Offramp: USDT on Base → NGN bank account
const order = {
amount: "100",
source: {
type: "crypto",
currency: "USDT",
network: "base",
refundAddress: "0xYourAddress"
},
destination: {
type: "fiat",
currency: "NGN",
recipient: {
institution: "GTBINGLA",
accountIdentifier: "1234567890",
accountName: "John Doe",
memo: "Payment"
}
}
};
// Offramp only: USDC on Base → NGN bank account
const order = {
amount: "100",
token: "USDC",
network: "base",
rate: "1500.50",
recipient: {
institution: "GTBINGLA",
accountIdentifier: "1234567890",
accountName: "John Doe",
currency: "NGN",
memo: "Payment"
}
};
API Endpoints
- GET /tokens — Live list of all supported stablecoins with contract addresses, decimals, and network identifiers
- GET /rates — Get the current exchange rate for a token/amount/fiat pair
Always retrieve the decimals value from the API before constructing token transfer transactions. Do not hardcode decimal values, as BNB Smart Chain USDT and USDC use 18 decimals while all other supported networks use 6.