Sanctum Unstake Program
Sanctum Router Program
The Sanctum Router Program is the central program. It composes and cross-invokes various programs and accounts like Sanctum Unstake and various stake pools on Solana to provide an interface for users to swap LSTs without dealing with the stake accounts in-between.
Exploring Sanctum Transactions
Users typically interact with Sanctum via the following actions:
- Instant Unstake
- Swapping Stake
- Instant Stake
In this transaction, the user exchanges their stake account (worth 1 SOL) for small fee to instantly receive 0.9993 SOL.
The Sanctum Unstake Program calls the “Unstake” instruction to transfer the SOL from the Sanctum SOL Reserve Pool to the user’s wallet, and subsequently calls the “DeactivateStakeAccount” instruction to deactivate the user’s stake account.
In this transaction, the user swaps 7.36 JitoSOL into 7.21 bSOL by splitting their staked SOL from the initial validator stake account (Jito) and merging into the next validator stake account (BlazeStake).
The Sanctum Router Program calls the “SwapViaStake” instruction, calling Cross-Program Invocations (CPIs) for the following actions to take place:
- Split SOL from Jito validator stake account into newly-created stake account
- Burn JitoSOL
- Deposit new stake account into BlazeStake validator stake account
- Mint bSOL
- Transfer minted bSOL to the user’s wallet
Users can also instantly stake their SOL by directly swap their liquid SOL into an LST.
In this transaction, the user stakes 40 SOL to receive 38.1 JitoSOL via the following route:
a. User wraps SOL into wSOL, then transfers wSOL into the BlazeStake Reserve Pool to mint bSOL
b. Swap bSOL into JitoSOL via Jupiter Aggregator
c. Transfer swapped JitoSOL back to the user’s wallet