Skip to main content
This guide covers the operational aspects of managing fee vaults on your OP Stack chain. For a conceptual overview of how fee vaults work, see Fee vaults.

Prerequisites

  • Access to the ProxyAdminOwner account (required for configuration changes)
  • An RPC endpoint for your L2 chain
  • cast CLI tool installed (Foundry)

Fee vault addresses

Checking vault state

View current balance

View configuration

Updating configuration

Configuration changes require the ProxyAdminOwner account. If your chain uses a multisig as the ProxyAdminOwner, these calls must be executed through the multisig.

Set recipient

Set minimum withdrawal amount

Set withdrawal network

Withdrawing fees

Withdrawals are permissionless — anyone can trigger them once the vault balance meets the minimum threshold.

Trigger a withdrawal

This withdraws the entire vault balance to the configured recipient.

Withdrawal behavior by network

  • L2 withdrawal (withdrawalNetwork = 1): Funds are transferred immediately to the recipient on L2. The transaction completes in a single step.
  • L1 withdrawal (withdrawalNetwork = 0): An L2-to-L1 withdrawal is initiated via the L2ToL1MessagePasser. After calling withdraw(), you must still:
    1. Wait for the withdrawal to be included in an L2 output root
    2. Prove the withdrawal on L1
    3. Wait for the finalization period
    4. Finalize the withdrawal on L1
    For details on completing L1 withdrawals, see Withdrawal flow.

Initial configuration during deployment

Fee vault recipients, minimum withdrawal amounts, and withdrawal networks are configured during chain deployment with op-deployer. For details on setting these parameters, see the op-deployer setup guide.

Monitoring

It’s good practice to monitor your fee vaults regularly:
  • Vault balances: Track balances to know when withdrawals can be triggered.
  • totalProcessed: Monitor cumulative withdrawals over time to understand revenue trends.

Next steps