An Update on BAM’s Maker Priority Plugin (MPP)

Three months ago we shipped the Maker Priority Plugin (MPP), BAM's first implementation of Application Controlled Execution (ACE). The goal was straightforward: give market makers more consistency in landing price updates so they can quote tighter and carry less risk during BAM slots, which synergistically improves liquidity and spreads for traders on Solana.
Three months of data and feedback point in the right direction.
What MPP Does for Market Makers
BAM schedules multiple micro-batches in every slot. MPP inserts enrolled maker transactions at the top of every batch, ahead of all other transactions. Market makers using MPP report:
- Higher same-slot landing rates
- Lower risk of failing to land oracle updates
- Less toxic flow taken during BAM slots
- Fewer failed transactions
MPP also removes a category of operational overhead. Landing an update in the same slot today means optimizing across multiple routes, traversing multiple transaction landing services, and calculating the right fee. With MPP, market makers send a continuous stream of updates to a single endpoint and BAM handles scheduling during BAM leader rotations.
Three Months In, By the Numbers
17 programs are now enrolled, including BisonFi, Tessera, Scorch, ZeroFi, SolFi, and Archer, together representing over $500M in daily spot trading volume.
Roughly 35% of all oracle updates submitted by enrolled users during BAM slots now land via MPP. We expect that share to grow as we continue optimizing.
To understand utilization behavior more closely, we looked at activity from Tessera, Scorch, and BisonFi — three of the largest onchain market makers — on SOL/USD, the most competitive market on Solana.
MPP utilization is efficient. These three makers route the majority of their oracle updates through MPP and consistently land 5–10 MPP transactions per slot each, or roughly 21 per slot across the group, at close to 100% success.


Landing rates are higher in BAM slots. Across all ingress paths (MPP, TPU, and Block Engine), the same three makers land roughly 31 updates per slot at a 76% success rate — the highest volume we observe across clients.

Execution is more deterministic and uniform in BAM slots. Instead of updates clustering at the beginning, middle, or end of a slot, BAM spreads updates more evenly throughout the slot because MPP schedules transactions in high-frequency discrete ~50ms ticks, producing a more deterministic landing pattern. The high performance, consistency, and predictability are important for market makers to confidently take risk and provide liquidity.


What Else We Shipped
Alongside the core priority mechanism, the last three months we added:
- Multi-market updates. Update multiple markets in a single transaction, improving cost efficiency.
- MPP Transaction Endpoint. Pull received, forwarded, and commit-attempted events for MPP transaction signatures.
- MPP Batch Endpoint. Returns timing information for a specific BAM batch auction within a slot, including start and end timestamps, to support more sophisticated post-trade analysis.
- Simulate Endpoint. Check whether a transaction passes MPP packet validation before signature verification, for debugging.
Learn more on our refreshed MPP docs.
Lowering the Fee
MPP's cost model is evolving alongside the plugin. After three months of observing utilization and working directly with early customers, we're lowering the MPP fee to 1 lamport per CU per transaction.
As Solana hosts more asset issuance and more long tail markets, our goal with MPP is to support the tightest spreads available on every market, not just the largest ones. Pricing the plugin to maximize utilization is part of getting there.
What’s Next
MPP launched deliberately narrow: a lightweight plugin with a single core feature in transaction priority. The early data tells us the approach works, and it gives us a foundation to build on.
Next, we’re focused on:
- Implementing an intra-slot clock, another lever against toxic flow.
- Growing MPP usage across enrolled and new programs.
- Improving customer support and experience.
Get in Touch
If you’re a market maker and want to plug in, check out our onboarding docs and fill out this form.
MPP is the first example of ACE on BAM, and we’re continuing to explore the design space for other use cases. If you’re interested in building with ACE, reach out here or find us in the Jito Developer Discord.