|
1 | | -## Solana Program Library Single-Validator Stake Pool |
| 1 | +# Single-Validator Stake Pool |
2 | 2 |
|
3 | | -The single-validator stake pool program is an upcoming SPL program that enables liquid staking with zero fees, no counterparty, and 100% capital efficiency. |
| 3 | +Fully permissionless liquid staking. |
4 | 4 |
|
5 | | -The program defines a canonical pool for every vote account, which can be initialized permissionlessly, and mints tokens in exchange for stake delegated to its designated validator. |
| 5 | +| Information | Account Address | |
| 6 | +| --- | --- | |
| 7 | +| Single Pool | `SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE` | |
6 | 8 |
|
7 | | -The program is a stripped-down adaptation of the existing multi-validator stake pool program, with approximately 80% less code, to minimize execution risk. |
| 9 | +## Overview |
8 | 10 |
|
9 | | -On launch, users will only be able to deposit and withdraw active stake, but pending future stake program development, we hope to support instant sol deposits and withdrawals as well. |
| 11 | +The Single-Validator Stake Pool is an onchain program that enables liquid staking with zero fees, no counterparty, and 100% capital efficiency. The program defines a canonical pool for every vote account, which can be initialized permissionlessly, and mints tokens in exchange for stake delegated to its designated validator. |
| 12 | + |
| 13 | +The program also allows permissionless harvesting of Jito tips and other MEV rewards, turning liquid sol paid into the stake account into active stake earning rewards, functionally distributing these earnings to all LST holders just like protocol staking rewards. |
| 14 | + |
| 15 | +Users can only deposit and withdraw active stake, but liquid sol deposit is coming in a future update. |
| 16 | + |
| 17 | +## Security Audits |
| 18 | + |
| 19 | +The Single Pool Program has received three external audits: |
| 20 | + |
| 21 | +* Zellic (2024-01-02) |
| 22 | + - Review commit hash [`ef44df9`](https://github.com/solana-program/single-pool/commit/ef44df985e76a697ee9a8aabb3a223610e4cf1dc) |
| 23 | + - Final report <https://github.com/anza-xyz/security-audits/blob/master/spl/ZellicSinglePoolAudit-2024-01-02.pdf> |
| 24 | +* Neodyme (2023-08-08) |
| 25 | + - Review commit hash [`735d729`](https://github.com/solana-program/single-pool/commit/735d7292e35d35101750a4452d2647bdbf848e8b) |
| 26 | + - Final report <https://github.com/anza-xyz/security-audits/blob/master/spl/NeodymeSinglePoolAudit-2023-08-08.pdf> |
| 27 | +* Zellic (2023-06-21) |
| 28 | + - Review commit hash [`9dbdc3b`](https://github.com/solana-program/single-pool/commit/9dbdc3bdae31dda1dcb35346aab2d879deecf194) |
| 29 | + - Final report <https://github.com/anza-xyz/security-audits/blob/master/spl/ZellicSinglePoolAudit-2023-06-21.pdf> |
| 30 | + |
| 31 | +## Building and Verifying |
| 32 | + |
| 33 | +To build the Single Pool Program, you can run `cargo-build-sbf` or use the Makefile |
| 34 | +command: |
| 35 | + |
| 36 | +```console |
| 37 | +cargo build-sbf --manifest-path program/Cargo.toml |
| 38 | +make build-sbf-program |
| 39 | +``` |
| 40 | + |
| 41 | +The BPF program deployed on all clusters is built with [solana-verify](https://solana.com/developers/guides/advanced/verified-builds). It may be verified independently by comparing the output of: |
| 42 | + |
| 43 | +```console |
| 44 | +solana-verify get-program-hash -um SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE |
| 45 | +``` |
| 46 | + |
| 47 | +with: |
| 48 | + |
| 49 | +```console |
| 50 | +solana-verify build --library-name spl_single_pool |
| 51 | +``` |
0 commit comments