Skip to content

Fee Structure

Withdrawal Fees

Relayers charge a fee for processing withdrawals. The fee is set by each relayer individually.

How Fees Work

  1. Relayer fee — The relayer keeps 100% of the ETH fee charged to the user (covers gas + profit)
  2. Protocol fee — The protocol charges 0.3% of the withdrawal amount in OFF tokens, deducted from the relayer's stake. The ETH→OFF conversion uses PriceOracleV2, which reads the spot price directly from the Uniswap V4 pool.
  3. Protocol fee distribution — The OFF from step 2 goes to the Staking contract and is distributed to all stakers immediately via addReward()

Example

For a 0.1 ETH withdrawal:

  • Protocol fee: 0.3% × 0.1 ETH = 0.0003 ETH equivalent in OFF
  • At a rate of 50,000 OFF/ETH → ~15 OFF deducted from relayer stake → sent to stakers

For a 1 ETH withdrawal with a 3.3% relayer fee:

  • Relayer ETH fee: 0.033 ETH (100% to relayer)
  • Protocol fee: 0.3% × 1 ETH = 0.003 ETH equivalent in OFF (deducted from relayer stake)
  • User receives: 0.967 ETH

Why This Model?

  • Relayers are fully compensated for gas and operations
  • Protocol sustainability through usage-based revenue
  • Stakers earn real yield from protocol activity, not inflation
  • Governance can adjust the 0.3% rate (up to 5% maximum)

Minimum Withdrawal

The minimum withdrawal amount is 0.1 ETH to ensure relayer operations remain economically viable.

Gas Considerations

  • Full withdrawal: ~400K gas
  • Partial withdrawal: ~7M gas (due to Merkle tree re-insertion of change)

Partial withdrawals are significantly more expensive due to the on-chain Poseidon hashing required to re-insert the change into the Merkle tree.

Open source privacy technology