Skip to main content

PGA for Arbitrum chains

Priority Gas Auctions (PGA) is an optional transaction-ordering policy that you can enable on any Arbitrum chain. Under PGA, the Sequencer orders transactions by the priority fee attached to each one. During short ordering rounds that run several times per block, the Sequencer transfers the priority queue into the block it is building.

Activating PGA requires changing the Sequencer configuration. PGA adds no operational overhead, which makes it viable for a much wider range of chains than Timeboost.

Your chain must collect priority fees, which ArbOS 61 supports. PGA orders transactions by tips.

As with all features on the Arbitrum stack, you can adopt PGA at your own discretion and on your own timeline.

To learn how PGA works, see the introduction to PGA.

Consider PGA for any chain with meaningful competition for block space. These chains are good candidates:

  • Chains with active DeFi, arbitrage, or liquidation activity. PGA converts latency competition into fee competition and routes the proceeds to your chain's fee collector.
  • Chains with latency-sensitive applications, such as proposer-based automated market makers (propAMMs). Per-transaction, just-in-time bidding suits workloads that need frequent priority-ordered inclusion.

Benefits​

PGA lets a chain owner capture a portion of the maximal extractable value (MEV) available on their chain. It preserves the built-in protections and the user experience that Arbitrum users expect.

Familiar mechanics and a low barrier to entry​

Participants bid by setting maxPriorityFeePerGas on a standard EIP-1559 type 2 transaction. There is no auction to register for and no custom tooling to build. Anyone who already runs a searcher on another EVM chain can participate on day one.

Near-zero operational cost​

PGA adds no infrastructure to run. PGA is a Sequencer flag plus a round-count parameter.

Faster blocks under load​

The Sequencer issues each block as soon as it fills, rather than idling for the remainder of the block window. On a chain with B=250ms and K=2, this yields between 4 and 8 blocks per second: a minimum of 1/B and a maximum of K/B. Under heavy load, your chain confirms faster than its nominal block time.

Starvation protection built in​

The Sequencer includes transactions that pay no priority fee within a small number of blocks. PGA's anti-starvation boost raises the ordering position of every transaction still waiting at the end of each round. The boost changes position in the queue, never the fee charged on inclusion.

Tradeoffs​

Costs​

Under first come first serve (FCFS) ordering, arrival time determines the order. Under PGA, willingness to pay determines it. Whenever your chain is congested, the Sequencer orders transactions that pay no priority fee behind those that do. The anti-starvation boost bounds how long they wait, but does not restore parity.

Revenue​

PGA revenue depends on MEV and competition for ordering. A chain with no congestion collects little in priority fees.

Enable PGA on your chain​

Prerequisites​

Before you start, confirm all four of the following:

  1. ArbOS 61 or newer. This release supports priority fee collection. PGA orders by tips, so an earlier ArbOS orders by fees your chain never collects.

  2. Priority fee collection enabled. Collection requires all three of the following:

    • ArbOS 61 or newer
    • The chain's collect-tips flag set
    • The batch poster coinbase configured

    On Arbitrum One, you toggle collection with an ArbOwner precompile call to setCollectTips.

  3. Timeboost disabled. A configuration that enables both Timeboost and PGA behaves unpredictably.

  4. A Nitro build that includes PGA. Confirm that the release you run supports it.

Overview​

To enable PGA, complete two steps:

  1. Confirm that priority fee collection is active on your chain.
  2. Configure your Sequencer node to enable PGA and set the rounds-per-block parameter.

Step 1: Confirm priority fee collection​

Verify that your chain runs ArbOS 61 or newer and that tip collection is on. If your chain has a toggler contract for this, use it. Otherwise, make an ArbOwner precompile call to setCollectTips. Confirm that the batch poster coinbase is configured, because collection depends on it.

Complete Step 1 before you start Step 2. PGA orders by tips, so a chain that does not collect them orders by fees it never receives.

Step 2: Configure your Sequencer node for PGA​

Add the following to your Sequencer's node configuration file:

{
"execution": {
"Sequencer": {
"pga": {
"enable": true,
"rounds-per-block": 2
},
"timeboost": {
"enable": false
},
"max-block-speed": "250ms"
}
}
}

rounds-per-block is the K parameter. With max-block-speed at 250ms and K=2, ordering rounds are 125ms long.