The access sub-client provides methods for managing vault permissions, enabling integrations, and configuring delegate access. This guide covers how to use the SDK to implement granular access control for your vault.
When to Use Access Control
Access control is essential when you need to:
- Delegate operations - Allow bots, managers, or multisig members to perform specific actions
- Enable protocol integrations - Activate DeFi protocols (Jupiter, Kamino) for your vault
- Enforce guardrails - Set allowlists/blocklists for transfers and swaps
- Emergency management - Quickly revoke compromised delegate access
Permission Hierarchy
- Integration ACLs define which external programs (Jupiter, Kamino) can interact with your vault and what protocol-specific policies apply.
- Delegate ACLs control which external accounts can act on behalf of the vault owner, with permissions scoped per integration and protocol.
Enabling Protocols for Integrations
Before a vault can interact with DeFi protocols, you must enable them at the integration level.
Enable Protocols
Disable Protocols
Managing Delegate Permissions
Delegates start with no permissions and must be explicitly granted access.
Grant Permissions
Revoke Permissions
Protocol Policies
Policies add parameter-level access control through allowlists and blocklists.
Set Transfer Allowlist
Set Swap Policy
Emergency Access
Emergency updates bypass timelock for critical security situations.
Emergency access updates bypass the timelock and should only be used when immediate action is required.
Common Patterns
Trading Bot Setup
Multisig Manager Setup
AI Yield Optimizer
References