Skip to content

[executor] Private RPC submission for BSC (bloxroute / blocknative) + per-chain routing #19

@obchain

Description

@obchain

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

  • Config schema supports per-chain submission URL + optional auth
  • Submitter::submit(tx) selects the right endpoint for each chain
  • Private endpoint failure falls back to public RPC with a WARN log (and metric)
  • Works end-to-end against a test bloxroute account (can be skipped in CI)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    layer:rustRust crates (core / scanner / protocols / executor / cli)priority:p1-coreCore MVP scopestatus:readyScoped and ready to pick uptype:featureNew capability or deliverable

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions