Skip to main content

Yield Boost - ETH fund flow

caution

Yield Boost is not yet live. This documentation describes the intended design.

Overview​

Linea Yield Boost is a protocol-level mechanism that automatically stakes some of the ETH held in the Linea bridge, or LineaRollup, and distributes those staking rewards back to the L2 ecosystem. This page maps the high-level architecture, including where ETH flows and which roles control each movement.

High-level architecture​

LineaRollup deposits on Ethereum L1 are staked via Lido V3 stVaults to generate beacon chain rewards, which are reported to L2 for distribution.

Key entities:

  • LineaRollup - Main Linea bridge contract on L1; holds user-deposited ETH and receives it back after staking.
  • YieldManager - L1 contract that moves ETH between LineaRollup and the staking vault, and calculates net yield after fees and liabilities.
  • Dashboard - Lido V3 management layer around the StakingVault; handles fee accounting and deposit/withdrawal operations.
  • StakingVault - Lido V3 vault that holds ETH awaiting beacon chain staking; all validator withdrawals return here.
  • Beacon Chain - Ethereum's proof-of-stake consensus layer where validators lock ETH to secure the network and earn staking rewards.
  • Lido - Third-party staking protocol that provides the StakingVault and Dashboard infrastructure used by Yield Boost.
  • Node Operator - Runs beacon chain validators on behalf of Linea and decides when to deposit ETH from the StakingVault into validators.
  • Fee Recipient - Address that collects the node operator's share of staking rewards.
  • Automation Service - Off-chain bot that triggers routine operations: moving ETH to/from staking, topping up reserves, and reporting yield.
  • Security Council - Linea's multi-signature governance body; can pause staking or initiate full withdrawal of staked funds.
  • L2MessageService - L2 contract that receives yield reports from L1 and unlocks the corresponding ETH on L2.
  • L2YieldDistributor - Distributes L2 ETH unlocked from staking rewards to designated recipients.

L1 ETH flow​

The Node Operator's deposit trigger is part of an automated process whose logic is agreed beforehand with the node operator. The recommended approach is for the Node Operator to greedily stake newly deposited funds in the vault, minus pending withdrawals.

Yield reporting and L2 distribution​

  1. The Automation Service triggers a yield report on the YieldManager.
  2. The YieldManager reads the StakingVault's current balance via the Dashboard and compares it to a stored checkpoint to determine how much reward has accrued.
  3. Before any yield reaches L2, outstanding obligations are paid: stETH borrow liabilities and protocol fees go to Lido, and operator fees go to the node operator's fee recipient.
  4. The YieldManager reports the remaining net yield to the LineaRollup contract.
  5. LineaRollup emits a synthetic MessageSent event that the L2MessageService picks up, unlocking the corresponding ETH on L2.
  6. The L2YieldDistributor sends the unlocked ETH to designated recipients.

The Automation Service only triggers the yield report - it does not determine the amount. The YieldManager computes net yield on-chain by comparing the StakingVault's current value to a stored checkpoint, then subtracting outstanding obligations (Lido protocol fees, stETH borrow liabilities, and node operator fees). Only the remaining surplus is reported to L2 for distribution.

Legend

  • Solid line - actual fund movement (ETH/stETH transfer)
  • Dashed line - function call or event (no funds move)
  • Red - privileged operator
  • Blue - permissionless
  • Green - L2

Roles and fund movement permissions​

RoleHeld ByWhat This Role Can Do
YIELD_PROVIDER_STAKING_ROLEAutomation ServiceMove excess ETH from the bridge into the staking vault
YIELD_PROVIDER_UNSTAKER_ROLEAutomation ServicePull ETH back from validators into the bridge
YIELD_REPORTER_ROLEAutomation ServicePay fees and liabilities from staking rewards
STAKING_PAUSE_CONTROLLER_ROLESecurity CouncilPause or resume validator deposits (no ETH movement)
OSSIFICATION_INITIATOR_ROLESecurity CouncilBegin permanent shutdown of the staking vault; Lido may require fee settlement before proceeding
OSSIFICATION_PROCESSOR_ROLEAutomation ServiceFinalize vault ossification; Lido may require fee settlement before proceeding
SET_YIELD_MANAGER_ROLESecurity CouncilConfigure which YieldManager contract the bridge uses (no ETH movement)
PermissionlessAnyoneDonate ETH to the bridge or vault; trigger unstaking and reserve top-up when the bridge balance is too low

Fund flow scenarios​

Each scenario below traces a specific ETH movement end-to-end, showing the contracts involved and the role that triggers it.

  1. Staking - routine: surplus ETH is moved from LineaRollup into validators.
  2. Reserve replenishment - routine: the Automation Service pulls funds back from validators when the withdrawal reserve runs low.
  3. Yield reporting - routine: earned rewards are calculated, obligations settled, and net yield relayed to L2.
  4. Permissionless flows - fallback: anyone can trigger unstaking and replenishment when the reserve drops below minimum.
  5. LST withdrawal - last resort: stETH is minted for users when LineaRollup has insufficient ETH.
  6. Ossification withdrawal - terminal: all staked funds are progressively withdrawn after the Security Council ossifies the vault.

1. Staking​

Surplus ETH in LineaRollup (above minimum reserve) is routed to the StakingVault for beacon chain staking.

2. Reserve replenishment​

Two-phase process: first trigger beacon chain withdrawal, then route funds to LineaRollup once they arrive in the vault.

3. Yield reporting​

The Automation Service triggers yield reporting. Before the net surplus is relayed to L2, the YieldManager settles outstanding obligations.

No L1 ETH moves for the yield report itself - obligation payments (solid arrows) are the only L1 ETH transfers. The MessageSent event is synthetic: it tells L2 how much new yield is available without actually bridging any ETH.

This works because the staked ETH on L1 already backs the ETH circulating on L2. When validators earn rewards, the total L1 collateral grows while the L2 supply stays the same. The yield report simply lets L2 mint the difference - the amount by which L1 collateral now exceeds the existing L2 supply. The system stays fully collateralized because the newly minted L2 ETH is matched by real rewards sitting in the StakingVault on L1.

4. Permissionless flows​

When LineaRollup balance drops below the minimum reserve, anyone can trigger unstaking and reserve replenishment.

unstakePermissionless() is capped to the remaining deficit minus available liquidity in the YieldManager and provider. replenishWithdrawalReserve() is similarly capped to the current deficit.

5. LST withdrawal - last resort​

If LineaRollup lacks ETH for a user withdrawal, stETH is minted against StakingVault collateral and sent directly to the user as a last resort.

This creates an LST liability that accrues interest; the system prioritizes repaying it from subsequent fund flows and yield.

6. Ossification withdrawal​

Ossification permanently locks the StakingVault implementation, opting out of future upgrades. The Security Council initiates it; the Automation Service then progressively withdraws all staked funds back to LineaRollup.

Quick reference​

Fund MovementSourceDestinationTriggerRole Required
Stake excess reserveLineaRollupStakingVaultAutomationYIELD_PROVIDER_STAKING_ROLE
Beacon chain depositStakingVaultValidatorsNode Operator decisionNode Operator
Report yield to L2synthetic MessageSent eventL2YieldDistributorAutomationYIELD_REPORTER_ROLE
Operator replenish reserveStakingVaultLineaRollupReserve below targetYIELD_PROVIDER_UNSTAKER_ROLE
Permissionless unstakeValidatorsStakingVaultReserve below minimumPermissionless
Permissionless replenish reserveStakingVaultLineaRollupReserve below minimumPermissionless
LST withdrawalLido Protocol (minted against StakingVault collateral)UserInsufficient ETHPermissionless (user)
Ossification withdrawalStakingVaultLineaRollupSecurity Council initiatesOSSIFICATION_INITIATOR_ROLE + OSSIFICATION_PROCESSOR_ROLE
DonationExternalLineaRollup / StakingVaultVoluntaryPermissionless