Design Doc: https://www.notion.so/primev/RewardDistributor-Design-2696865efd6f80b2a4f0e6b8fc3ab0c4

The RewardDistributor contract is built to support ERC-20 distributions in the future, but this document covers ETH stipend distribution. The same recipients and claim delegates are used for both ETH and ERC-20 distributions.

Weekly ETH stipend service flow (off-chain → on-chain)

image.png

Stipend Recipients

Operators are the recipients of their key’s stipend rewards by default. If a global override is set, all stipends earned will be attributed to their global override address. In certain cases, the operator may want to override by individual keys. Per-key overrides take precedence over global overrides.

Override Precedence

  1. Per-key override: operatorKeyOverrides[operator][keccak256(pubkey)] if set.

  2. Global override (operator default): operatorGlobalOverride[operator] if set.

  3. Fallback: the operator address itself.

    ⇒ Per-key override wins over global; if neither exists, pay the operator.

Setting overrides

If the key’s operator changes and the new operator hasn’t set a key override, the new operator will be the fallback recipient until updated.

Claiming