BSC at a Glance
BNB Smart Chain produces a new block every ~3 seconds using a Proof-of-Staked-Authority (PoSA) consensus with 21 validators. This makes it one of the fastest EVM-compatible chains for payment use-cases.
What is Finality?
Finality is the guarantee that a transaction cannot be reversed. On Bitcoin you typically wait 6 blocks (~60 min). On BSC, with 21 trusted validators, 2–3 confirmations (6–9 seconds) is considered safe for low-value payments. High-value transfers should wait 10–15 confirmations.
The "Safe Head" Strategy
Paychainly's block listener reads currentBlock − 2 as the "safe head". This two-block buffer handles micro-reorgs without triggering false positives.
Practical Confirmation Table
| Payment Amount | Recommended Confirmations | Wait Time |
|---|---|---|
| < $50 | 2 | ~6 s |
| $50 – $500 | 5 | ~15 s |
| > $500 | 15 | ~45 s |
How Paychainly Handles It
The BlockDiscoveryService polls eth_blockNumber every 3 seconds. New blocks trigger eth_getLogs filtered to your deposit addresses. Confirmations are implicit — only blocks at safe-head or below are processed.
Avoiding Double-Spend Risk
Every detected transaction is stored with a unique txHash constraint in the database. Duplicate webhook deliveries are idempotent on the receiver side — see our idempotency guide.