Comment on page

Smart Contracts (Permissioned)

Overview of smart contracts for the permissioned version of StakeWise.

Contracts overview

The smart contracts for StakeWise's permissioned protocol are now open-sourced and are accessible on Github.
Below you will find an overview of the contracts, with more details on separate contracts' pages.


The WhiteListManager contract is the entry point into StakeWise's permissioned system. This contract stores a list of verified addresses that can access StakeWise, ensuring that only KYC'd customers' are able to interact with the smart contracts.
Read more about the WhiteListManager contract:


The Pool contract is the gateway for deposits into the StakeWise Permissioned Pool. This contract stores ETH collected from the users before it is sent to the ETH2 Validator Registration Contract.
Read more about the Pool contract:


The PoolValidators contract keeps track of the pool validators' deposit data and facilitates the onboarding of external node operators into StakeWise.
Read more about the PoolValidators contract:


The StakedEthToken is an ERC-20 contract. It reflects the deposits made by the stakers in the form of psETH tokens. The tokens are mapped 1 to 1 to ETH.
The total supply of psETH is the sum of all the StakeWise Permissioned Pool's validators' effective balances, plus an additional amount of up to (32 ETH - 1 Wei) ETH awaiting inclusion into a new validator within the Pool contract.
Read more about the StakedEthToken contract:


The RewardEthToken is an ERC-20 contract. It reflects the rewards accumulated by the stakers in the form of prETH tokens. The tokens are mapped 1 to 1 to ETH.
The total supply of prETH is the amount that is above the effective balance of all the validators registered for the StakeWise Permissioned Pool.
Read more about the RewardEthToken contract:


The MerkleDistributor contract distributes prETH tokens and other rewards to the depositors of psETH into various contracts. The distribution is based on the calculations produced from off-chain data.
Read more about the MerkleDistributor contract: