Deposits
Withdrawals
Withdrawals mirror deposits, with a mandatory delay enforced in the core.The withdrawal delay (
vault.config.withdrawal_delay_seconds) is enforced in the core, not the policy. A policy cannot waive it. Some policies add a further time-of-period gate (e.g. policy_withdrawal_window).Claiming fees
claim_fees moves accrued (unclaimed) fees to their recipient. It is not a charge — charging happens during fund operations and only writes bookkeeping.
recipient == recipients.get_recipient(fee_type) and amount <= unclaimed, then the core executes the SPL transfer signing as vault_share_signer.
Reading the fee ledger
Fee architecture in depth
Buckets, the two-hop CPI, and the HWM mechanics.