← All Posts
Advanced

Multi-Chain Payments: Accepting USDT on BSC, Ethereum, and Polygon Simultaneously

May 21, 2026· 2 min read

Why Multi-Chain Matters

Different customers prefer different chains. BSC users value low fees. Ethereum users value ecosystem trust. Polygon users value speed with Ethereum security. Supporting all three doubles your potential customer base.

How Paychainly Models Networks

Each chain is a row in the networks table with its own RPC pool, USDT contract address, and sweep wallet. The networkId field flows through every job — from block discovery to sweep.

-- networks table
id | chainId | name       | rpcUrls          | usdtContract
1  | 56      | BSC        | [...bsc rpcs]    | 0x55d...
2  | 1       | Ethereum   | [...eth rpcs]    | 0xdac...
3  | 137     | Polygon    | [...poly rpcs]   | 0x2791...

Creating a Multi-Chain Payment Link

POST /api/v1/payment-links
{
  "amount": "50.00",
  "networks": ["BSC", "ETH", "POLYGON"],
  "description": "Invoice #1042"
}

The customer chooses their preferred chain at checkout.

Chain-Specific Fee Configs

Ethereum gas fees are higher than BSC. Use per-network fee configs:

// fee_configs table allows per-user, per-network overrides
{ network: 'ETH', feeFlat: 2.00, feePercent: 1.5 }
{ network: 'BSC', feeFlat: 0.60, feePercent: 1.0 }
{ network: 'POLYGON', feeFlat: 0.30, feePercent: 0.8 }

Gas Wallet per Chain

Each chain needs its own gas wallet funded with the native token (BNB, ETH, MATIC). Paychainly's system_wallets table holds one gas wallet per network.

Dashboard View

The dashboard aggregates transactions across all networks with a chain-filter dropdown so you can view BSC-only revenue or all-chain totals.

← Back to Blog
multi-chainEthereumPolygonBSCUSDTmulti-network