Supported Chains & Tokens
All supported blockchain networks and stablecoins. 5 chains, 2 tokens, 9 valid combinations. Chain comparison, confirmation thresholds, address families, and choosing the right chain.
Supported Chains & Tokens
PayzCore monitors stablecoin transfers across 5 blockchain networks and 2 token types. This page covers all supported combinations, their characteristics, and how to choose the right chain for your use case.
Chains
| Chain | Display Name | Native Token |
|---|---|---|
TRC20 | Tron (TRC20) | TRX |
BEP20 | BSC (BEP20) | BNB |
ERC20 | Ethereum (ERC20) | ETH |
POLYGON | Polygon | POL |
ARBITRUM | Arbitrum One | ETH |
Tokens
| Token | Full Name | Symbol |
|---|---|---|
USDT | Tether USD | USDT |
USDC | USD Coin | USDC |
Supported Combinations
There are 9 valid chain+token combinations. TRC20 only supports USDT because Circle discontinued USDC on the Tron network in February 2024.
| Chain | USDT | USDC |
|---|---|---|
| TRC20 | Yes | No (discontinued by Circle) |
| BEP20 | Yes | Yes |
| ERC20 | Yes | Yes |
| POLYGON | Yes | Yes |
| ARBITRUM | Yes | Yes |
When creating a payment, specify both chain and token:
curl -X POST https://api.payzcore.com/api/v1/payments \
-H "x-api-key: pk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 50,
"chain": "POLYGON",
"token": "USDC",
"external_ref": "customer-123"
}'If token is omitted, it defaults to USDT. Requesting an unsupported combination (e.g., USDC on TRC20) returns a 400 error.
Confirmation Thresholds
Each chain requires a specific number of block confirmations before a transfer is considered final. A payment stays in confirming status until the threshold is reached.
| Chain | Confirmations | Approximate Time |
|---|---|---|
| TRC20 | 19 blocks | ~1 minute |
| BEP20 | 15 blocks | ~45 seconds |
| ERC20 | 12 blocks | ~2.5 minutes |
| POLYGON | 64 blocks | ~2.5 minutes |
| ARBITRUM | 40 blocks | ~10 seconds |
These thresholds balance security against confirmation speed. They are not configurable per project.
Block Explorers
Each chain has a dedicated block explorer for verifying transactions and addresses:
| Chain | Explorer | Transaction URL | Address URL |
|---|---|---|---|
| TRC20 | TronScan | tronscan.org/#/transaction/{hash} | tronscan.org/#/address/{addr} |
| BEP20 | BscScan | bscscan.com/tx/{hash} | bscscan.com/address/{addr} |
| ERC20 | Etherscan | etherscan.io/tx/{hash} | etherscan.io/address/{addr} |
| POLYGON | PolygonScan | polygonscan.com/tx/{hash} | polygonscan.com/address/{addr} |
| ARBITRUM | Arbiscan | arbiscan.io/tx/{hash} | arbiscan.io/address/{addr} |
The PayzCore dashboard includes direct links to explorers for every transaction and address.
Token Contracts
For reference, the stablecoin contract addresses monitored on each chain:
| Chain | Token | Contract Address | Decimals |
|---|---|---|---|
| TRC20 | USDT | TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t | 6 |
| BEP20 | USDT | 0x55d398326f99059fF775485246999027B3197955 | 18 |
| BEP20 | USDC | 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d | 18 |
| ERC20 | USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 | 6 |
| ERC20 | USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | 6 |
| POLYGON | USDT | 0xc2132D05D31c914a87C6611C10748AEb04B58e8F | 6 |
| POLYGON | USDC | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 | 6 |
| ARBITRUM | USDT | 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 | 6 |
| ARBITRUM | USDC | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 | 6 |
You do not need to know these addresses. PayzCore uses them internally to filter token transfer events on each chain.
Dust Threshold
PayzCore ignores very small transfers to prevent dust spam attacks:
- Global minimum: $0.10 per transaction
- Per-project minimum: Configurable via the
minAmountsetting in project settings
Any transfer below the active threshold is silently ignored. No webhook is sent and no payment status changes. This protects against attackers who send tiny amounts to trigger false notifications.
Configure your project's minimum in Projects > Settings > Minimum Amount. If not set, the global $0.10 minimum applies.
Address Families
PayzCore groups chains into two address families based on their underlying address format and derivation path:
| Family | Chains | Derivation Path | xPub Key |
|---|---|---|---|
tron | TRC20 | m/44'/195'/0'/0/index | Tron-specific xPub |
evm | BEP20, ERC20, POLYGON, ARBITRUM | m/44'/60'/0'/0/index | Standard EVM xPub |
All four EVM chains share the same xPub key and the same derived addresses. This means:
- You need at most 2 xPub keys (one Tron, one EVM) to cover all 5 chains
- A single EVM xPub works for BEP20, ERC20, Polygon, and Arbitrum
- The derivation counter is scoped to
(walletId, addressFamily), not per chain
For static wallet modes (dedicated, pool), address families still apply. The same EVM address can be used across BEP20, ERC20, Polygon, and Arbitrum.
Choosing the Right Chain
Different chains are optimized for different use cases. The main factors are transaction fees, confirmation speed, and ecosystem compatibility.
TRC20 (Tron)
- Best for: High-volume USDT payments, markets where Tron is dominant (Asia, CIS)
- Fees: Low with staked TRX energy (
$0.05), moderate without ($1-$4) - Speed: ~1 minute to finality
- Limitation: USDT only (no USDC)
BEP20 (BSC)
- Best for: General-purpose payments, BSC ecosystem users
- Fees: Very low (~$0.03-$0.15)
- Speed: ~45 seconds to finality
- Tokens: USDT and USDC
ERC20 (Ethereum)
- Best for: High-value payments, Ethereum ecosystem, institutional users
- Fees: Variable and can be expensive (~$0.50-$30+ depending on congestion)
- Speed: ~2.5 minutes to finality
- Tokens: USDT and USDC
- Note: Avoid for small payments due to high gas costs when sweeping
POLYGON (Polygon)
- Best for: Low-fee payments, USDC users, micro-payments
- Fees: Extremely low (~$0.001-$0.01)
- Speed: ~2.5 minutes to finality
- Tokens: USDT and USDC
ARBITRUM (Arbitrum One)
- Best for: Fast, cheap payments with Ethereum security guarantees
- Fees: Very low (~$0.01-$0.15)
- Speed: ~10 seconds to finality (fastest of all supported chains)
- Tokens: USDT and USDC
Quick Comparison
| Factor | TRC20 | BEP20 | ERC20 | POLYGON | ARBITRUM |
|---|---|---|---|---|---|
| Sweep cost | $0.05-$4 | $0.03-$0.15 | $0.50-$30+ | $0.001-$0.01 | $0.01-$0.15 |
| Confirmation time | ~1 min | ~45s | ~2.5 min | ~2.5 min | ~10s |
| USDC support | No | Yes | Yes | Yes | Yes |
| Best payment size | $10+ | Any | $100+ | Any | Any |
| Ecosystem | Tron | BSC | Ethereum | Polygon | Ethereum L2 |
For small payments under $5, Polygon and Arbitrum are the most cost-effective choices because sweep gas fees are negligible. For more details on sweep costs, see Sweeping Funds.
Dynamic Chain Discovery
Use the GET /api/v1/config endpoint to dynamically discover which chains and tokens are available for your project based on your wallet configuration:
curl https://api.payzcore.com/api/v1/config \
-H "x-api-key: pk_live_YOUR_KEY"{
"project": { "name": "My Store", "slug": "my-store" },
"chains": [
{
"chain": "TRC20",
"name": "Tron (TRC20)",
"tokens": ["USDT"],
"confirmations": 19,
"explorer": "https://tronscan.org"
},
{
"chain": "BEP20",
"name": "BSC (BEP20)",
"tokens": ["USDT", "USDC"],
"confirmations": 15,
"explorer": "https://bscscan.com"
}
],
"default_token": "USDT"
}This endpoint is free and does not count toward your daily API call limit. Use it in your integration to build dynamic chain/token selectors without hardcoding values.
Coming Soon
Additional chains and tokens are planned for future releases:
- Tokens: DAI, PYUSD
- Chains: Base, Solana, TON
New chains are added seamlessly. No changes to your existing integration are required — just start passing the new chain value.