# Private buckets (pools)

## Overview

Private buckets (builders, compute, coders...) are a special mechanism available only within the stETH `DepositPool` contract. Unlike public staking (coders staking), where users deposit stETH tokens into the contract, private buckets allow protocol administrators to assign virtual stake balances to users without requiring any on-chain deposit of tokens.

Private buckets are particularly useful for allocating rewards to test participants, strategic partners, investors, or any group of users who should receive emissions without actively staking tokens. Internally, private buckets do not exist as a separate structure—they are managed through dedicated administrative functions that set the relevant parameters per user in the existing reward pools.

## Add  new private stakers

The reward logic for private bucket participants is identical to that of public users: rewards are accrued based on the user’s virtual stake, in proportion to the total stake in the pool, and follow the same emission rules. However, instead of interacting with the contract directly, users in private buckets are manually added by an administrator with [manageUsersInPrivatePool](/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/depositpool.md#manageusersinprivatepool), who assigns them a virtual stake amount, an optional lock period before rewards can be claimed, and, if relevant, a referrer address for referral bonuses.

## Claim MOR rewards

To actually receive MOR rewards, users in private buckets must explicitly call the [claim](/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/depositpool.md#claim) function, just like any other participant. They must provide the appropriate `poolId` corresponding to the bucket pool they’ve been assigned to. The contract treats their virtual stake identically to real deposits during reward distribution. However, since there are no tokens physically deposited, actions such as withdraw or restake are not applicable for private bucket participants.

In addition, the contract provides the [claimFor](/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/depositpool.md#claimfor) function, which allows one address to claim rewards on behalf of another. This is permitted if the caller has been explicitly whitelisted via the [setClaimSender](/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/depositpool.md#setclaimsender) function, or if the staker has set a `claimReceiver` using [setClaimReceiver](/smart-contracts/documentation/distribution-protocol/v7-protocol/contracts/depositpool.md#setclaimreceiver).

This feature is particularly useful in the context of private buckets. For example, if an entire builder bucket is assigned to a single multisig address, the multisig can set a public `claimReceiver`. In this case, any user can trigger a claim for the builder bucket using `claimFor`, but the actual reward tokens on L2 will always be sent to the receiver address that the multisig specified.

## Summary

In summary, private buckets offer a flexible way for the protocol to assign reward eligibility without requiring capital to be locked on-chain, while fully integrating into the broader reward distribution system.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gitbook.mor.org/smart-contracts/documentation/distribution-protocol/v7-protocol/guides/private-buckets-pools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
