Context
Public BSC mempool is front-runnable. Private RPC providers (bloxroute, blocknative) let you submit transactions directly to validators, bypassing the public mempool. Ethereum would use Flashbots instead — this issue covers BSC only; the Ethereum path comes later with multi-chain.
Scope
- Add
[submission] section to config: per-chain submission_url + optional auth header
Submitter in charon-executor/ that routes per chain_id:
- BSC → private RPC endpoint (user-configured)
- Future chains → Flashbots bundle / private sequencer (stubs for now)
- Auth via HTTP Bearer header (most private RPCs use tokens)
- Fallback to public endpoint with WARN log if private endpoint fails
Acceptance criteria
References
Context
Public BSC mempool is front-runnable. Private RPC providers (bloxroute, blocknative) let you submit transactions directly to validators, bypassing the public mempool. Ethereum would use Flashbots instead — this issue covers BSC only; the Ethereum path comes later with multi-chain.
Scope
[submission]section to config: per-chainsubmission_url+ optional auth headerSubmitterincharon-executor/that routes perchain_id:Acceptance criteria
Submitter::submit(tx)selects the right endpoint for each chainReferences