Kermes is a pet project exploring the design and implementation of a staking platform on Solana. It allows users to stake tokens, NFTs, and Liquid Staking Tokens (LSTs) into vaults and earn rewards in the form of tokens, points, or NFTs. The platform is designed to be modular, with separate programs for staking and vault share tokens.
Disclaimer: This project is not intended for mainnet use...yet
- Multi-Asset Staking: Stake SPL tokens, SPL-2022 tokens, NFTs, and LSTs.
- Vault Share Tokens: Mint LP-like tokens representing a user's share in the vault.
- Reward System: Earn rewards in tokens, points, or NFTs.
- Modular Design: Separate programs for staking and vault share tokens.
- Cross-Program Invocation (CPI): Secure interaction between programs.
The platform consists of two main programs:
-
kermes_staking
:- Handles staking, unstaking, and reward distribution.
- Uses CPI to interact with the vault share token program.
-
kermes_vault_share
:- Manages minting and burning of vault share tokens.
- Enforces custom transfer hooks for advanced logic.
- Clone the repository:
git clone https://github.com/deeprnd/kermes.git cd kermes
- Intall the environment:
yarn install
- Build the programs:
yarn build
- Run tests:
yarn install
Contributions are welcome! Please open an issue or submit a pull request.
Inspired by protocols like EigenLayer, Symbiotic, and Mellow Finance.
Built with β€οΈ using Anchor and Solana.