same block bundling
Understanding how Flap Bundle achieves same-block transaction inclusion.
How It Works
Transaction Independence
Each transaction in the bundle uses a different account:
Deploy TX → deployer wallet (nonce N)
Fee TX → deployer wallet (nonce N+1)
Buy TX 1 → bundle wallet 1 (nonce 0)
Buy TX 2 → bundle wallet 2 (nonce 0)
...
Since each buy uses a different wallet address with its own nonce, they can all be included in the same block without conflicts.
RPC Types
Public RPC
When using a public RPC (Infura, Ankr, default BSC RPC):
Transactions go to the public mempool
Validators pick transactions in any order
No guarantee of same-block inclusion
Buys typically land within 1–3 blocks of the deploy
Still effective — tokens are bought at near-initial prices
Private / Builder RPC
When using a private RPC (48Club, Bloxroute):
Transactions are submitted directly to block builders
Builders can include all transactions in a single block
Near-guaranteed same-block inclusion
Best protection against front-running and sniping
Configuring Private RPC
Set the BSC_PRIVATE_RPC_URL environment variable in the backend:
Recommended Providers
48Club
BSC block builder with bundle support
Bloxroute BDN
MEV protection + transaction bundling
Marlin
BSC relay service
Block Verification
After a bundle executes, the app verifies which blocks each transaction landed in:
✅ All same block — all transactions in one block
⚠️ Spread across blocks — transactions in nearby blocks
The verification result is shown in the Launch step after completion.
BSC Block Time
BSC produces blocks every ~3 seconds. Even without a private RPC, broadcasting all transactions simultaneously means they'll likely be included in the next few blocks — well before any external snipers can react.
