Smart Contracts

All deployed smart contracts can be found on GitHub. Stakewithus will only deploy user funds into smart contracts that have been audited.

Staking

The core Staking contract of the ETH staking platform which manages all users, fees and deposits.

Privileged Roles

Operator

The operator is a bot-controlled EOA managed by the Stakewithus team. It listen to user deposits, generates validator signing keys and automatically submits them to the official Ethereum staking deposit contract to create validators.

Owner

The owner of the Staking contract is a 2/3 Safe multisig controlled by Stakewithus team members. It can access all operator functions and also has the authority to set fees for using the platform.

Functions

Name
Role
Description

deposit

users

deposit multiples of 32 ETH to create validators

refund

users

refund unstaked ETH

stake

operator

stake user ETH into the official Ethereum staking deposit contract

refundUser

operator

refund unstaked ETH to users

pause

operator

pause the contract, stopping new deposits

unpause

operator

unpause the contract

setOneTimeFee

owner

set one-time fee for depositing (currently disabled)

setPerformanceFee

owner

set Stakewithus's percentage share of block proposal rewards

setTreasury

owner

set the address which receives Stakewithus's share of block proposal rewards

setRefundDelay

owner

set the delay before users can initiate a refund of unstaked ETH

Fee Recipient

The Staking contract deploys individual Fee Recipient contracts for each user upon their first deposit, which serve to collect and distribute their block proposal rewards. Only the user's address can access their rewards - this is set upon creation and cannot be changed.

Functions

Name
Role
Description

claimRewards

user

claim user's share of block proposal rewards

treasuryClaim

treasury

claim Stakewithus's share of block proposal rewards

Addresses

Last updated