The deposit_vault instruction deposits assets into a Voltr vault and mints LP tokens to the depositor. The LP tokens represent the user's proportional share of the vault's total assets.
The vault's idle asset token account (destination)
vault_asset_idle_auth
Immutable
No
PDA authority over vault_asset_idle_ata
user_lp_ata
Mutable
No
The user's LP token account (destination)
vault_lp_mint_auth
Immutable
No
PDA authority for minting LP tokens
asset_token_program
Immutable
No
Token Program or Token-2022 for assets
lp_token_program
Immutable
No
Token Program for LP tokens
system_program
Immutable
No
Solana System Program
CPI Struct
Implementation
The user_transfer_authority must sign the transaction. The vault's internal PDAs (vault_asset_idle_auth, vault_lp_mint_auth) are signed by the Voltr Vault program during the CPI — your program does not need to provide their seeds.