PayzCore Docs

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

ChainDisplay NameNative Token
TRC20Tron (TRC20)TRX
BEP20BSC (BEP20)BNB
ERC20Ethereum (ERC20)ETH
POLYGONPolygonPOL
ARBITRUMArbitrum OneETH

Tokens

TokenFull NameSymbol
USDTTether USDUSDT
USDCUSD CoinUSDC

Supported Combinations

There are 9 valid chain+token combinations. TRC20 only supports USDT because Circle discontinued USDC on the Tron network in February 2024.

ChainUSDTUSDC
TRC20YesNo (discontinued by Circle)
BEP20YesYes
ERC20YesYes
POLYGONYesYes
ARBITRUMYesYes

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.

ChainConfirmationsApproximate Time
TRC2019 blocks~1 minute
BEP2015 blocks~45 seconds
ERC2012 blocks~2.5 minutes
POLYGON64 blocks~2.5 minutes
ARBITRUM40 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:

ChainExplorerTransaction URLAddress URL
TRC20TronScantronscan.org/#/transaction/{hash}tronscan.org/#/address/{addr}
BEP20BscScanbscscan.com/tx/{hash}bscscan.com/address/{addr}
ERC20Etherscanetherscan.io/tx/{hash}etherscan.io/address/{addr}
POLYGONPolygonScanpolygonscan.com/tx/{hash}polygonscan.com/address/{addr}
ARBITRUMArbiscanarbiscan.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:

ChainTokenContract AddressDecimals
TRC20USDTTR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t6
BEP20USDT0x55d398326f99059fF775485246999027B319795518
BEP20USDC0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d18
ERC20USDT0xdAC17F958D2ee523a2206206994597C13D831ec76
ERC20USDC0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB486
POLYGONUSDT0xc2132D05D31c914a87C6611C10748AEb04B58e8F6
POLYGONUSDC0x3c499c542cEF5E3811e1192ce70d8cC03d5c33596
ARBITRUMUSDT0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb96
ARBITRUMUSDC0xaf88d065e77c8cC2239327C5EDb3A432268e58316

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 minAmount setting 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:

FamilyChainsDerivation PathxPub Key
tronTRC20m/44'/195'/0'/0/indexTron-specific xPub
evmBEP20, ERC20, POLYGON, ARBITRUMm/44'/60'/0'/0/indexStandard 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

FactorTRC20BEP20ERC20POLYGONARBITRUM
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 supportNoYesYesYesYes
Best payment size$10+Any$100+AnyAny
EcosystemTronBSCEthereumPolygonEthereum 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.

On this page