Using the Sanctum Stake Pool Program CLI

Getting your stake pool details

Using a UNIX-like OS (you need to have git, the solana CLI and rust installed)

git clone https://github.com/igneous-labs/sanctum-spl-stake-pool-cli
cd sanctum-spl-stake-pool-cli
cargo build
./target/debug/splsp --help

Because we retain the manager and staker authorities, you can use the update, list, deposit-stake and withdraw-stake, and most of the time you will only need the first two.

The list command requires a pool address argument which you can get the Sanctum LST list and will return the current pool information.

splsp list  --verbose
# pathSOL stake pool config

[pool]
program = "sanctum-spl-multi"
mint = "pathdXw4He1Xk3eX84pDdDZnGKEme3GivBamGCVPZ5a"
token-program = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
pool = "GM7TwD34n8HmDP9XcT6bD3JJuNniKJkrKQinHqmqHarz"
validator-list = "2WqKyuuonwMhjYpvLFZSBibBddB8DNVTij5AuWYFs4KD"
manager = "GRwm4EXMyVwtftQeTft7DZT3HBRxx439PrKq4oM6BwoZ"
manager-fee-account = "5rwss36rzRrG1AtJKe7WkSAcR7Lyd1jETUZRv2BkTT2J"
staker = "EG976hUYS3Mwf595uk9irszydggWzB3tBDobbMffyScq"
stake-withdraw-auth = "2oFvntttTFoEejX5uRoP5NLovNjhe7fiCZhs3Td1tpYa"
max-validators = 20
stake-deposit-referral-fee = 0
sol-deposit-referral-fee = 0
total-lamports = 41458696244877
pool-token-supply = 41412936851730
last-update-epoch = 663
next-epoch-fee = "None"
next-stake-withdrawal-fee = "None"
next-sol-withdrawal-fee = "None"
last-epoch-pool-token-supply = 42078090983368
last-epoch-total-lamports = 42124585341201

[pool.epoch-fee]
denominator = 100
numerator = 100

[pool.stake-withdrawal-fee]
denominator = 0
numerator = 0

[pool.sol-withdrawal-fee]
denominator = 0
numerator = 0

[pool.stake-deposit-fee]
denominator = 1000
numerator = 1

[pool.sol-deposit-fee]
denominator = 1000
numerator = 1

[pool.reserve]
address = "EzCivuGUaoRsHMahjQnz5mEKKuYsTC338HvdAckiMdim"
lamports = 2894975923

[[pool.validators]]
vote = "GE6atKoWiQ2pt3zL7N13pjNHjdLVys8LinG8qeJLcAiL"
active-stake-lamports = 41192665166169
transient-stake-lamports = 263138385665
last-update-epoch = 663
transient-seed-suffix = 0
status = "Active"
validator-stake-account = "HD63esu4hWwuVwiHBLKAtukLCJLogrsd97mGYWUG1etn"
transient-stake-account = "8KAErhjfs2PLQk8yZQQ8Jvx2KF6fMAY7TBoMM8xUNVC9"

You may want to use this command to retrieve the reserve address account, which you can send SOL to in order to increase the APY of your LST.

Likewise, we automatically run a crank to update the pool state after every new epoch but we recommend teams to run a backup, which can be done like so:

./target/debug/splsp update <pool_address>

Native unstaking

Although it's not YET available on our UI, you can achieve native unstaking through the CLI

You can follow this guide to import your private key and save it to a file Then you can run:

./splsp withdraw-stake <pool_address> <amount>

We know this is not ideal and it will be improved soon!

Last updated

Logo

Copyright © 2024 Sanctum Labs