
Stake-Based Transaction Ordering: A New Experiment on OP Mainnet
TL;DR: we're introducing stake-based transaction ordering on OP Mainnet — the first change to transaction ordering rules in the chain's history. Participants who stake OP into an audited smart contract receive top-of-block positioning for their transactions. The experiment is now live on Sepolia and will roll out to mainnet in phases, starting with a flat FIFO tier and progressing to a stake-weighted multiplier model. This is the first in a series of sequencer experiments designed to make blockspace work better for the participants who depend on it most.
Why We're Doing This
Today, every transaction on OP Mainnet competes for block inclusion through a priority gas auction (PGA). You pay more gas, you get included sooner. This works, but it has side effects: trading bots spray redundant transactions hoping to land first, failed transactions clog blocks, and the actors who care most about execution quality — the ones providing liquidity and tightening spreads — have no way to signal commitment beyond gas price.
We're willing to find a better mechanism. One where participants can stake OP to earn predictable, priority access to blockspace, reducing the need for gas wars and spam.
This isn't a permanent protocol change. It's a time-boxed experiment designed to generate real data on how sophisticated blockspace consumers behave when the rules change. We'll publish results openly, and what we learn here will inform sequencer tooling for OP Stack chains.
Experiment Design

Stake OP, get top-of-block access for your transactions. The implementation runs through a dedicated smart contract (PolicyEngineStaking) and a new engine built inside OP Mainnet's builder.
This experiment runs in two phases.
Phase 1: Flat FIFO (maximum 1 week)
Every address that stakes 100,000 OP becomes eligible for top-of-block positioning. Within this tier, ordering is strictly first-in, first-out — no amount of extra stake changes your position. Everyone who meets the threshold is on equal footing. All non-staking transactions continue to be ordered by the existing priority gas auction. Nothing changes for users who aren't participating.
Phase 2: Stake-Weighted Ordering (maximum 3 weeks)
Phase 2 introduces a multiplier that blends stake size, stake duration, and priority gas into a single ordering score:
effectivePriorityGas = priorityGas × m_total(S, t)
The more you stake — and the longer you hold — the lower the priority fees you need. m_total is bounded at 3x and follows a square-root curve, so diminishing returns kick in immediately. m_time adds up to +10% after 15+ days staked, penalizing flash borrowing. Fee market signals are preserved.
Key properties: bounded at 3x max / diminishing returns / stake-rent resistant (time component penalizes flash borrowing) / non-staking transactions unaffected.
How the Staking Contract Works
The PolicyEngineStaking contract is minimal by design: stake, unstake, link, unlink.
No lockups: withdraw 100% of stake at any time. No cooldown, no penalty.
No admin controls over funds: neither OP Labs nor the Foundation can move staked tokens.
Linking: delegate stake's benefit to a separate address (e.g., a trading bot).
Audited by Spearbit prior to deployment. Report published alongside source.
Experiment capped at 20% gas limit consumed per flashblock.
Safety and Rollback
This is the first time transaction ordering rules have been modified on OP Mainnet. The experiment can be rolled back to standard PGA ordering at any time without affecting stake withdrawals. Stakers keep access to their funds regardless.
Live on Sepolia
The experiment is live on Sepolia now. We'll run Sepolia for a defined period, collect data, and publish a follow-up post with learnings before activating on mainnet. During testnet phase, we will be minting a test token that will enable teams to test this feature out. Please reach out if you'd like to participate.
A Series of Experiments
Stake-based ordering is the first of several sequencer experiments planned for OP Mainnet. The engine is general-purpose and can express a range of block-building customizations.