Access Control
Delegated Accounts
Delegated accounts 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. This approach enhances security by ensuring that delegates can only perform intended actions within the defined boundaries, reducing the risk of unauthorized operations and mistakes.
Permissions
The table below lists the available permissions that can be granted to a delegated account.
Permission Enum | Description |
---|---|
DriftBorrow | Borrow assets from Drift |
DriftCancelOrders | Cancel orders on Drift |
DriftDeleteUser | Delete a Drift user |
DriftDeposit | Deposit assets to Drift |
DriftInit | Initialize and add a Drift user |
DriftOrders | Place and manage Drift orders |
DriftPerpMarket | Trade on Drift perp markets |
DriftSpotMarket | Trade on Drift spot markets |
DriftUpdateUser | Update a Drift user |
DriftWithdraw | Withdraw assets from Drift |
JupiterGovClaim | Claim rewards from Jupiter governance |
JupiterGovStake | Stake JUP using voter escrow |
JupiterGovUnstake | Unstake JUP |
JupiterGovVoteOnProposal | Vote on Jupiter DAO proposals |
JupiterGovWithdraw | Withdraw staked JUP or governance rewards |
JupiterSwapAllowlisted | Swap allowlisted assets on Jupiter (recommended) |
JupiterSwapAny | Swap any assets on Jupiter (high-risk) |
JupiterSwapLst | Swap LSTs on Jupiter |
JupiterSwapPriceable | Swap assets with onchain pricing support |
KaminoBorrow | Borrow from Kamino |
KaminoDeposit | Deposit into Kamino |
KaminoInit | Initialize a Kamino user |
KaminoWithdraw | Withdraw from Kamino |
MeteoraDlmmClaim | Claim fees and rewards from Meteora |
MeteoraDlmmLiquidity | Add or remove liquidity to a Meteora DLMM position |
MeteoraDlmmPosition | Create or manage a Meteora DLMM position |
MeteoraDlmmSwap | Execute a swap on Meteora |
Stake | Stake SOL or LSTs |
TransferToAllowlisted | Transfer tokens to allowlisted accounts only |
Unstake | Unstake SOL or LSTs |
WSol | Wrap or unwrap SOL |
Permission Enum | Description |
---|---|
DriftBorrow | Borrow assets from Drift |
DriftCancelOrders | Cancel orders on Drift |
DriftDeleteUser | Delete a Drift user |
DriftDeposit | Deposit assets to Drift |
DriftInit | Initialize and add a Drift user |
DriftOrders | Place and manage Drift orders |
DriftPerpMarket | Trade on Drift perp markets |
DriftSpotMarket | Trade on Drift spot markets |
DriftUpdateUser | Update a Drift user |
DriftWithdraw | Withdraw assets from Drift |
JupiterGovClaim | Claim rewards from Jupiter governance |
JupiterGovStake | Stake JUP using voter escrow |
JupiterGovUnstake | Unstake JUP |
JupiterGovVoteOnProposal | Vote on Jupiter DAO proposals |
JupiterGovWithdraw | Withdraw staked JUP or governance rewards |
JupiterSwapAllowlisted | Swap allowlisted assets on Jupiter (recommended) |
JupiterSwapAny | Swap any assets on Jupiter (high-risk) |
JupiterSwapLst | Swap LSTs on Jupiter |
JupiterSwapPriceable | Swap assets with onchain pricing support |
KaminoBorrow | Borrow from Kamino |
KaminoDeposit | Deposit into Kamino |
KaminoInit | Initialize a Kamino user |
KaminoWithdraw | Withdraw from Kamino |
MeteoraDlmmClaim | Claim fees and rewards from Meteora |
MeteoraDlmmLiquidity | Add or remove liquidity to a Meteora DLMM position |
MeteoraDlmmPosition | Create or manage a Meteora DLMM position |
MeteoraDlmmSwap | Execute a swap on Meteora |
Stake | Stake SOL or LSTs |
TransferToAllowlisted | Transfer tokens to allowlisted accounts only |
Unstake | Unstake SOL or LSTs |
WSol | Wrap or unwrap SOL |
Permission Enum | Description |
---|---|
MintBurnTokens | Burn token from any account |
MintForceTransferTokens | Force-transfer tokens between two accounts |
MintMintTokens | Mint new tokens |
MintSetTokenAccountState | Freeze and unfreeze accounts |