Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
5159406
add stub priority fees page (TW-740)
anegg0 Apr 24, 2026
553c581
fill in priority-fees content from Notion draft (Vanessa Bridge)
anegg0 May 5, 2026
da0180b
update arbos60 > arbos61
anegg0 Jul 16, 2026
4468c20
Merge branch 'Arbos60' into tw-740-p5-priority-fees-collection-new-page
anegg0 Jul 16, 2026
2a6209f
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 Jul 17, 2026
c1f2085
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 Jul 17, 2026
8fe5613
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 Jul 17, 2026
8b2bb9a
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 Jul 17, 2026
cc2fddd
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 Jul 17, 2026
cb3bef0
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 Jul 17, 2026
33a341a
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 Jul 17, 2026
0fed8ae
Update docs/launch-arbitrum-chain/02-configure-your-chain/common/gas/…
anegg0 Jul 17, 2026
76c8142
reformat
anegg0 Jul 17, 2026
13502e7
Merge branch 'Arbos60' into tw-740-p5-priority-fees-collection-new-page
anegg0 Jul 17, 2026
046f3d4
Merge branch 'master' into tw-740-p5-priority-fees-collection-new-page
anegg0 Jul 17, 2026
b1ea4dc
fix sidebars.js format
anegg0 Jul 17, 2026
2c1ee77
fix broken links
anegg0 Jul 17, 2026
c0f5372
Point Gas sidebar entries at existing cost docs
anegg0 Jul 17, 2026
517ea3a
Merge remote-tracking branch 'origin/tw-740-p5-priority-fees-collecti…
anegg0 Jul 17, 2026
ac42f9a
Delete docs/arbitrum-essentials/how-to-get-l2block-on-l1.mdx
anegg0 Jul 17, 2026
f4ccef1
remove how-to-get-l2block-on-l1.mdx
anegg0 Jul 17, 2026
ad90490
Merge branch 'Arbos60' into tw-740-p5-priority-fees-collection-new-page
anegg0 Jul 17, 2026
fa168cc
Merge branch 'Arbos60' into tw-740-p5-priority-fees-collection-new-page
anegg0 Jul 17, 2026
bc69ba4
fix redirect
anegg0 Jul 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 0 additions & 189 deletions docs/arbitrum-essentials/how-to-get-l2block-on-l1.mdx

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: 'Priority fees collection'
sidebar_label: 'Priority fees'
description: "How to enable priority-fee (tip) collection on an Arbitrum chain in ArbOS61 'Elara', and the additional requirements for tip-based transaction ordering."
content_type: concept
author: 'gaelblanchemain'
sme: 'vbridge-hash'
---

ArbOS61 ("Elara") introduces the capability for chain owners to collect priority fees (tips) on their Arbitrum chain. The feature ships disabled, and a chain owner can enable it through a deliberate, two-step action.

<VanillaAdmonition type="caution" title="Activation requires a separate Constitutional vote">

For Arbitrum One and Nova, enabling this feature requires a **Constitutional DAO vote**—it isn't activated as part of the ArbOS61 upgrade itself. The upgrade only makes tip collection _possible_ for chains that opt in.

</VanillaAdmonition>

## How to enable tip collection

The chain owner calls the [`ArbOwner` precompile](/arbitrum-essentials/precompiles/reference.mdx#arbowner) at `0x0000000000000000000000000000000000000070`:

```solidity
// Enable tip collection
IArbOwner(address(0x70)).setCollectTips(true);

// Disable it again
IArbOwner(address(0x70)).setCollectTips(false);

// Read the current state
bool collecting = IArbOwner(address(0x70)).getCollectTips();
```

`ArbOwner` is access-controlled—only the chain owner (typically a designated operator address or DAO) can call these methods. The implementation is in [`precompiles/ArbOwner.go`](https://github.com/OffchainLabs/nitro/blob/6dce8d13902649a1acdfd3f2504129f1f5612358/precompiles/ArbOwner.go#L666).

## How tips are collected

Once enabled, any `priorityFee` (EIP-1559 `maxPriorityFeePerGas`) included in a transaction is collected the same way all other gas fees are, and routed into an onchain account. No separate infrastructure or modifications are needed.

## Activation and receipt timing

If tip-paying transactions land in the same block but _before_ the transaction that enables fee collection, tips aren't collected from those earlier transactions—but their receipts will report tips as if they were. This is a known issue.

To avoid it, the chain owner can either:

- enable tip collection inside a delayed transaction, or
- ensure the enabling transaction is the first (or only) transaction in its block.

## Tip-based transaction ordering

Enabling collection alone does **not** change how transactions are ordered. For priority fees to actually influence sequencing, the chain needs **both**:

1. **`setCollectTips(true)`**: activates fee collection via `ArbOwner`.
2. **Updated sequencer logic**: the sequencer must be configured to read the `PriorityFee` field when sorting transactions.

Without Step 2, the sequencer continues to use its existing ordering rules (such as [Timeboost](/how-arbitrum-works/timeboost/gentle-introduction.mdx), if enabled) regardless of the transaction's priority fee.

## References

- [Constitutional AIP: ArbOS61 Elara — Priority fees](https://forum.arbitrum.foundation/t/constitutional-aip-arbos-60-elara/30601)
- [`ArbOwner` precompile reference](/arbitrum-essentials/precompiles/reference.mdx#arbowner)
- [`setCollectTips` source](https://github.com/OffchainLabs/nitro/blob/6dce8d13902649a1acdfd3f2504129f1f5612358/precompiles/ArbOwner.go#L666)
4 changes: 0 additions & 4 deletions redirects.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -415,9 +415,5 @@ export const redirects = [
from: '/launch-arbitrum-chain/configure-your-chain/advanced/compliance-filtering',
to: '/launch-arbitrum-chain/chain-config/validation/compliance-filtering',
},
{
from: '/build-decentralized-apps/how-to-get-l2block-on-l1',
to: '/arbitrum-essentials/how-to-get-l2block-on-l1',
},
// AUTO-GENERATED REDIRECTS END
];
42 changes: 37 additions & 5 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,43 @@ const sidebars = {
id: 'launch-arbitrum-chain/chain-config/data-availability/dac-configuration-defaults',
label: `DAC defaults`,
},
{
type: 'category',
label: 'Gas',
collapsed: true,
items: [
{
type: 'doc',
id: 'launch-arbitrum-chain/chain-config/costs/custom-gas-token-anytrust',
label: `AnyTrust custom gas token`,
},
{
type: 'doc',
id: 'launch-arbitrum-chain/chain-config/costs/custom-gas-token-rollup',
label: `Rollup custom gas token`,
},
{
type: 'doc',
id: 'launch-arbitrum-chain/chain-config/costs/configure-native-mint-burn',
label: 'Native mint/burn gas token',
},
{
type: 'doc',
id: 'launch-arbitrum-chain/chain-config/costs/gas-optimization',
label: `Gas optimization tools`,
},
{
type: 'doc',
id: 'launch-arbitrum-chain/chain-config/costs/dynamic-pricing',
label: 'Dynamic Pricing for Arbitrum Chains',
},
{
type: 'doc',
id: 'launch-arbitrum-chain/configure-your-chain/common/gas/priority-fees',
label: 'Priority fees',
},
],
},
{
type: 'doc',
id: 'launch-arbitrum-chain/chain-config/data-availability/configure-dac',
Expand Down Expand Up @@ -1214,11 +1251,6 @@ const sidebars = {
label: 'Cross-chain messaging',
id: 'arbitrum-essentials/bridging/cross-chain-messaging',
},
{
type: 'doc',
label: 'Verify child chain state',
id: 'arbitrum-essentials/how-to-get-l2block-on-l1',
},
{
type: 'doc',
label: 'L1-to-L3 teleportation',
Expand Down