Staking Overview
Introduction
Staking on Starknet involves locking STRK tokens in the staking protocol, contributing to network security and performance. Anyone holding STRK in their wallets can stake their tokens on Starknet either directly or by delegating their tokens to others, with rewards based on their level of participation and contribution.
Key terms
-
Stake: Locking STRK tokens into the staking protocol.
-
Delegate: Assigning STRK tokens to a validator to participate indirectly.
-
Reward: Earnings from participating in staking.
First stage
In the future, validators will be responsible for maintaining and securing the network by producing, attesting, and proving blocks, as part of Starknet’s consensus protocol. However, handing over these responsibilities all in one day is neither feasible nor desirable. Instead, the first stage of staking on Starknet will only require validators to run full nodes and test the protocol’s economic incentive structure and some of its key smart contract components.
In the first phase of staking on Starknet, validators are required to run a full node in preparation for future staking phases |
Over time, validators' responsibilities will gradually increase, with each phase bringing additional tasks until validators fully maintain and secure the network. This incremental approach is necessary, as it allows for the following:
-
Gradual implementation: introducing features in small and manageable milestones, ensuring each step is carefully implemented and easily integrated, and allowing to refine the process and address issues as they arise
-
Validators preparation: giving validators time to adapt to their new responsibilities and critical roles, maximizing the network’s stability during the transition
-
Proven reliability: having a proven set of sequencers that reliably produce and attest to blocks by the time validators perform their full responsibilities, cementifying the network’s decentralization
Protocol details
Overview
The staking protocol features two main options:
-
Staking: Users can stake any amount of STRK, with a minimum threshold set at 20,000 STRK. Validators are expected to run full nodes and eventually handle additional responsibilities as the protocol evolves. Validators can choose whether to allow delegation.
-
Stake Delegation: Users can delegate their STRK to validators without running their own nodes, if the validator allows delegation. Delegators share in the rewards earned by the validators they choose.
Validators and delegators can both unstake their funds, subject to network-defined latencies for security.
Minting curve
The minting curve balances participation and inflation by adjusting rewards based on the total STRK locked in the protocol. It is defined by the formula:
where:
-
\(S\) is the staking rate as a percentage of the total token supply
-
\(M\) is the annual minting rate as a percentage of the total token supply
-
\(C\) is the maximum theoretical inflation percentage
For the first stage, \(C\) is proposed to be 1.6%.
Staking rewards
Rewards are distributed based on the amount staked and the commission policy constant \(CP\) set by the validator. The yearly reward percentages are calculated using the following formulas:
where \(M\) and \(S\) are the same as described in the minting curve section.
Latencies
-
Current version: Immediate entry and exit from the staking protocol. However, funds are subject to a 21-day security lockup after signaling unstake intent.
-
Future versions: Introduction of epochs to determine entry/exit latencies and continued 21-day lockup after signaling unstake intent.
Stake delegators can switch between validators without waiting for the full lockup period, promoting a competitive delegation market. |
Contract addresses
L1 addresses
L2 addresses
Reward supplier contract
Mainnet |
0x009035556d1ee136e7722ae4e78f92828553a45eed3bc9b2aba90788ec2ca112 |
Sepolia |
0x02ebbebb8ceb2e07f30a5088f5849afd4f908f04f3f9c97c694e5d83d2a7cc61 |
Economic parameters
Parameter | Mainnet | Sepolia |
---|---|---|
Minimum stake for validators |
20K STRK |
1 STRK |
Withdrawal security lockup |
21 days |
5 minutes |
Minting curve yearly inflation cap (\(C\)) |
1.6 |
1.6 |
For developers who wish to dive deep, the index update interval parameter is set to a minimum of 1 minute in Starkent Sepolia and 30 minutes in Starknet mainnet. |