Accept BNB payments on BNB Smart Chain
BNB is the native coin of BNB Smart Chain and a balance many exchange users already have. Here is how BNB payments work with easyway: which network counts, when the money is yours, and what it costs.
How a BNB payment works here
Every invoice gets its own deposit address on BNB Smart Chain, derived from a watch-only public key (an xpub) — the server behind your checkout can create addresses but holds no key that can spend from them. An address belongs to one invoice at a time, so the payment is matched by the address alone: no memo, no reference to type.
The BNB amount is fixed from the exchange rate when the customer picks BNB on the checkout. The QR code holds the address only — the customer enters the amount in their wallet, so the checkout shows it next to the address with a copy button. The network fee for the transfer is paid in BNB on top, so a customer paying from a wallet should not use "send max" on exactly the invoice amount. On an exchange, check that the amount that will arrive — after the exchange's withdrawal fee — is the full invoice amount.
Which BNB counts
Only BNB on BNB Smart Chain (chain ID 56) is credited to a BNB invoice. When withdrawing from an exchange, the network to choose is usually called "BSC", "BEP20" or "BNB Smart Chain". Two look-alikes are not accepted: BNB on opBNB, BNB Chain's layer-2 network, and BNB bridged as a token to Ethereum or other chains. Their addresses can look identical (0x…), which is why the checkout names the network next to the address. The older BEP-2 network (BNB Beacon Chain) has been shut down by BNB Chain and is not supported either.
Payments from contracts and exchanges
Exchanges often pay out through a contract, and smart-contract wallets always do, which moves the BNB as an internal call that a plain "transactions to this address" search never shows. easyway watches the balance of every invoice address instead: when it grows, the increase is credited and the transaction behind it is looked up for the record. Amounts below 0.00001 BNB are ignored as dust.
Confirmations
The invoice turns paid once the payment is 15 blocks deep and the balance increase is still there — well under a minute on BNB Smart Chain. Your server gets the signed invoice.paid webhook at that moment. A payment that arrives in parts is tracked as underpaid, and every part sent to the same address counts towards the invoice.
Price risk
Nothing is converted: BNB stays BNB on your balance and is withdrawn as BNB to an address you have whitelisted. Its value follows the market after the customer picks it. To receive dollars on the same network instead, offer stablecoins — the BNB Smart Chain tokens accepted are USDT, USDC, FDUSD (see USDT BEP-20, USDC and FDUSD). Customers paying in those tokens need a little BNB in their wallet for gas.
Fees
| Amount | |
|---|---|
| Platform fee on a payment | 0.5% |
| Example: customer pays 1 BNB | you receive 0.995 BNB |
| Confirmations required | 15 |
| Minimum withdrawal | 0.0007 BNB |
| Withdrawal network fee | 0.00002 BNB (flat) |
The customer pays the gas for their own transfer. Every other coin and network is on the pricing page.
Integrating BNB payments
Create an invoice in USD and let the customer choose BNB among every enabled coin, or set allowed_assets: ["BNB"] to offer only BNB. Redirect to the hosted checkout, then fulfil the order on the signed invoice.paid webhook. The quickstart has runnable code in cURL, Node.js, PHP and Python, the sandbox guide shows how to test every payment outcome, and the whole API is described in OpenAPI format.
Common questions
Who holds the BNB? easyway does, on your balance, until you withdraw it to your own wallet. Live withdrawals only go to addresses you have whitelisted with two-factor authentication; see security.
Is ETH accepted too? Yes, on Ethereum mainnet — see accepting Ethereum.