Blockspace Assembly Market (BAM) for Jito-Solana
BAM (Blockspace Assembly Market) extends the Jito-Solana client to interface with external schedulers via gRPC, receiving pre-sequenced transaction bundles and executing them in FIFO order with respect to account locks. This design maintains network security while enabling sophisticated transaction ordering strategies.
Access to BAM is fully permissionless, and any validator can join mainnet or testnet by following the instructions below.
The BAM system operates within a Trusted Execution Environment (TEE), providing secure transaction scheduling while maintaining validator sovereignty over block production.
The BAM client is open source and available on GitHub.
| Network | Region | BAM URL |
|---|---|---|
| Mainnet | π³π± Amsterdam | http://amsterdam.mainnet.bam.jito.wtf |
| Mainnet | π©πͺ Frankfurt | http://frankfurt.mainnet.bam.jito.wtf |
| Mainnet | πΊπΈ New York | http://ny.mainnet.bam.jito.wtf |
| Testnet | πΊπΈ New York | http://ny.testnet.bam.jito.wtf |
Running the BAM validator client requires specific configuration flags:
# Required BAM configuration flag --bam-url <BAM_NODE_URL> # Connect to BAM scheduler # Additional important flags for Block Engine integration --shred-receiver-address <ADDRESS> # Shred receiver address --block-engine-url <BLOCK_ENGINE_URL> # Block engine endpoint
Your validator needs to be in the leader schedule in order to connect to BAM. BAM will only establish connections with validators that have upcoming leader slots.
Your validator operates in one of these modes depending on your configuration:
Standard Solana validator behavior using internal scheduler.
Jito MEV-enhanced operation with internal scheduler + Block Engine.
External scheduler delegation via gRPC to BAM Node (TEE).
The BAMBAM Visual Builder allows you to create custom transaction scheduling logic without writing Rust code. It generates native plugins compatible with the BAM Client's InstalledScheduler interface.