A secure, modular staking platform for tokens with time-locked commitments and a highly flexible reward system.
To see the system's structure, view the System Architecture Diagram →
To get started, find the path that best describes you:
- I'm a User...
- ➡️ & want to learn how to stake: Start with the User Guide →
- I'm a Developer...
- ➡️ & want to integrate with the system: Read the Architecture Overview →
- I'm a Security Auditor...
- ➡️ & want to review the system's security: Begin with the Audit Dossier →
This staking platform is built with three core principles: security, data integrity, and developer-friendliness.
- Security First: Multi-layered security with role-based access control, including a dedicated
MULTISIG_ROLEfor critical recovery operations. It is protected from reentrancy attacks and can be paused in emergencies. - Flexible Reward System: A fully modular reward architecture with distinct contracts for scheduling (
PoolManager), orchestration (RewardManager), and claim history (ClaimsJournal). This allows for creating complex reward scenarios with different strategies. - Advanced Data Management: Uses a checkpoint system for highly-efficient historical balance queries (
O(log n)), which provides the necessary data for fair and accurate reward calculations. - Developer Friendly: A clear separation of concerns between the staking core and the reward system, providing well-defined interfaces to encourage ecosystem expansion.
(Note: These addresses may be from previous development deployments and could be outdated. Always use the latest deployment script for testing.)
- StakingVault:
0xE9b606be7c543B93D0FF5CE72A0E804d5f4147b2 - StakingStorage:
0xA71dF04aAC1DC6a0E62bC5a396ECaa976fF29f5A - PoolManager:
0x4a80D49aEdC75ebD2f6387C5dBb0ecd95F8A53f1 - StrategiesRegistry:
0x34D7377Ae437F4093f379878aa21753266707A7d - RewardManager:
0x206f027fFB82d9daBA0Bb34810a2b6Be2B736788 - ClaimsJournal:
0xfE2B9626f7e5D2140bF281aC5C521DA59417cF08 - StandardStakingStrategy:
0xebbc67f2cffcd21d38fb82fa218ef60c42779d29 - FullStakingStrategy:
0xbdf3203f9808e2bc8bdc4c1ed30a2888c8d54787
The core staking and reward systems are feature-complete and ready for audit. The architecture supports two types of reward strategies, POOL_SIZE_INDEPENDENT (e.g., APR-based) and POOL_SIZE_DEPENDENT (e.g., shared reward pools), providing extensive flexibility for future reward programs.
For a detailed breakdown of all documentation, see the tables below.
| Document | Purpose |
|---|---|
| User Guide | Basic staking concepts and step-by-step instructions |
| Checkpoints Guide | How your staking history is tracked for fair rewards |
| Rewards Guide | Complete rewards system explanation |
| Document | Purpose |
|---|---|
| Architecture Overview | System design and architecture overview |
| Contract Specifications | Detailed technical specifications |
| Audit Dossier | All security-related documentation |
- Smart Contracts: Solidity ^0.8.20
- Testing Framework: Foundry
- Security Libraries: OpenZeppelin
This project is licensed under the MIT License - see the LICENSE file for details.
Need help? Start with the User Guide or Architecture Overview depending on your needs.