Skip to main content
Delegated accounts (also known as delegates) start with no permissions and must be explicitly granted access. Permissions are granular, allowing vault owners to build precise guardrails by adding specific capabilities to each delegate.
  • Low-privileged delegates are ideal for performing routine tasks such as staking and farming.
  • High-privileged delegates can be used for more sensitive operations like trading and transfers.
This approach enhances security by ensuring that delegates can only perform intended actions within the defined boundaries:
  • It reduces the risk of unauthorized operations and accidental mistakes.
  • Even if a delegate is compromised, the impact is limited to the permissions granted to them.

Permissions

Permissions are protocol-specific capabilities defined by each integration program. They represent the smallest units of access that can be granted to delegates, allowing for fine-grained control over what actions each delegate can perform. Permission bitflags are stored as u64 integers, allowing for a maximum of 64 permissions per protocol. Follow the links in the table to view the permission definitions in program IDLs.
ProtocolPermission NamePermission BitflagDescription
SystemWSOL0b0000000000000001Wrap SOL to wSOL
Transfer0b0000000000000010Transfer vault SOL an allowlisted address
Jupiter SwapSwapAny0b0000000000000001Swap any token to any other token
SwapLST0b0000000000000010Swap among SOL and LSTs
SwapAllowlisted0b0000000000000100Swap tokens that are explicitly allowlisted
SPLTransfer0b0000000000000001Transfer vault token an allowlisted address
Kamino LendingInit0b0000000000000001Initialize Kamino lending account
Deposit0b0000000000000010Deposit tokens into Kamino lending
Withdraw0b0000000000000100Withdraw tokens from Kamino lending
Borrow0b0000000000001000Borrow tokens on Kamino lending
Repay0b0000000000010000Repay borrowed tokens
Kamino VaultsDeposit0b0000000000000001Deposit into Kamino vaults
Withdraw0b0000000000000010Withdraw from Kamino vaults
Kamino FarmsStake0b0000000000000001Stake tokens in Kamino farms
Unstake0b0000000000000010Unstake tokens from Kamino farms
HarvestReward0b0000000000000100Harvest farming rewards
CCTPTransfer0b0000000000000001Bridge asset to another chain

Pending Audit

This table lists permissions defined by integration programs that are pending audit.
ProtocolPermission NamePermission BitflagDescription
Stake ProgramStake0b0000000000000001Stake SOL to a validator
Unstake0b0000000000000010Unstake from a validator
Stake PoolDepositSol0b0000000000000001Deposit SOL to a pool
DepositStake0b0000000000000010Deposit stake account to a pool
DepositSolAny0b0000000000000100Deposit SOL to any pool
DepositStakeAny0b0000000000001000Deposit stake account to any pool
WithdrawSol0b0000000000010000Withdraw SOL from a pool
WithdrawStake0b0000000000100000Withdraw stake account from a pool
SanctumDepositSol0b0000000000000001Deposit SOL to a pool
DepositStake0b0000000000000010Deposit stake account to a pool
DepositSolAny0b0000000000000100Deposit SOL to any pool
DepositStakeAny0b0000000000001000Deposit stake account to any pool
WithdrawSol0b0000000000010000Withdraw SOL from a pool
WithdrawStake0b0000000000100000Withdraw stake account from a pool
MarinadeStake0b0000000000000001Stake SOL to get mSOL
Unstake0b0000000000000010Unstake mSOL to get SOL