How do BNB Chain payments settle?
Each checkout gets its own deposit address on BNB Chain, created ahead of time. Once the buyer's payment reaches 5 confirmations, it is forwarded automatically to your EVM treasury wallet. Funds are never pooled in an InfraIO Pay balance.
Which tokens can I accept on BNB Chain?
USD Coin (USDC, ERC-20, 18 decimals); Tether USD (USDT, ERC-20, 18 decimals). On EVM networks you can also list a verified ERC-20 of your own from the dashboard.
- USDC contract: 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d
- USDT contract: 0x55d398326f99059fF775485246999027B3197955
What does it cost to accept payments on BNB Chain?
There is no setup fee, no monthly minimum and no charge on failed, expired or cancelled payments. A platform fee applies only when a payment settles, and it is recalculated automatically from your settled volume over the last 30 days: 0.5% under $50,000, 0.4% from $50,000 to $250,000, and 0.3% from $250,000.
For example, on a $1,000 payment the fee is $5 at 0.5%, $4 at 0.4%, $3 at 0.3%. Above the public floor, custom rates are available by contact.
How do I set it up?
- Create a merchant account. Sign up at app.infraio.xyz and verify your email.
- Connect a EVM treasury wallet. Add an EVM treasury wallet once; it covers every EVM network.
- Enable BNB Chain. Turn on BNB Chain in Settings → Networks so buyers can choose it.
- Share a payment link or open a checkout. Create a payment link in the dashboard or open a session with the SDK.
Open a hosted checkout; buyers choose BNB Chain there
import { loadInfraIo } from "@lartech/infraio-checkout-js";
// 1. On your server: POST /b2b/v1/checkout-sessions/quick (HMAC-signed with
// your secret key) returns { session_key, checkout_url }.
// 2. In the browser, open the hosted checkout with those two values:
const sdk = await loadInfraIo("pk_live_yourkeyhere");
sdk.checkout({
sessionId: session_key,
checkoutUrl: checkout_url,
mode: "popup", // or "redirect" / "embed"
onSuccess: () => showThanks(), // UX only: fulfil from the webhook
});