Pebble V3 is a new alternative scheduler for Solana.

Native

The scheduler runs in the validator: no external block builder, no extra hop between a transaction and the block.

Transparent

Clear scheduling rules, described below.

MEV optimized

Restores the value of priority fees: on a contended account, the only way to win is a higher priority.

Performant

Ultra-low inclusion delays: a median of 6 ms.

Design

  1. Frequent auctions. An auction is held approximately every 7 ms.
  2. One change per account per auction. Once a transaction has changed an account, no other one writing it is scheduled in the same auction.
  3. Small transactions skip the line. Small transactions, such as pAMM quote updates and order cancellations, are privileged: they are scheduled as soon as they arrive, outside of the auctions.
5 ms5 msTx 1 writes Aoutbid by Tx 2 in auction 1Tx 2 writes Ahigher priorityTx 3 writes Barrives after the cutoffTx 4 quote updateprivileged, out of auction0 ms5 ms10 ms15 msarrivesscheduledauctioncutoff, 0.5 ms before the auction
Tx 1 and Tx 2 both write A and arrive before the cutoff of auction 1. Tx 2 pays more and changes A first, so Tx 1 waits for auction 2. B is free, but Tx 3 arrives just after the cutoff of auction 1, so it also waits for auction 2. Tx 4 is a pAMM quote update: it is privileged and scheduled on arrival, between two auctions.

Restoring the value of priority fees

Today, the priority fee market is distorted: mempool access, spam (optimistic MEV) and payments to third parties for a privileged path are all ways to avoid paying the fee that real demand would set.
Pebble V3 closes these paths: on a contended account, the only way to win is a higher priority. Knowing about a submitted transaction in advance gives only a limited edge: everyone has a 4.5 ms window to react.

Protecting market makers

Pebble V3 protects market makers in two ways. Quote updates are privileged: they land as soon as they arrive, without waiting or bidding for an auction. And the 0.5 ms cutoff keeps market makers from being outsped when an off-chain event happens, such as a price move on another exchange: a taker reacting to it right before an auction has to wait for the next one.
Less exposed to being picked off, market makers can quote tighter spreads, which means better prices for traders.

Fast transaction inclusion

Most transactions are scheduled less than 7 ms after arrival, and shreds are sent immediately after an auction completes.

Is 5 ms enough?

A 5 ms wait after an auction may seem too short for real competition: bidders have to receive the shreds, react, and get their transaction to the leader in time. But shred propagation is getting faster. Rotor, Alpenglow's successor to Turbine, is coming, geo-aware Turbine is being investigated, and many commercial offers already provide optimized shred streams. Validators can also send their leader shreds on demand, or team up with nearby validators or hosting providers to offer an aggregated stream of leader shreds.
The delay, the cutoff and the maximum auction duration are all settings. We expect to shorten the delay as propagation improves, allowing more updates of the same account per slot and making Solana even more responsive.

What happened to V2?

Pebble V2 introduced rolling auctions, held account by account: a transaction writing only uncontended accounts could be scheduled as soon as it arrived. But per-account auctions also opened the door to some categories of denial-of-service attacks that cannot be easily mitigated.
Pebble V3 is not exposed to these attacks. It returns to the periodic auctions of Pebble V1, while inheriting the most useful characteristics of Pebble V2.

See it in action

Pebble V3 is implemented in Firedancer, and live on mainnet on the PEBBLE validator.
Explore its recent blocks

Feel free to contact us for more information about Pebble V3.