Skip to main content
For SDK-facing workflows, vault configuration changes are performed via the intent system. An intent is an on-chain account that stores a proposed change to a vault’s settings. This enables time-locks, scheduled changes, and bounty incentives for keeper execution.
The protocol also includes a direct private-basket settings instruction path, primarily for creator-controlled private setup flows. This path is not exposed in the SDK.

How Intents Work

1

Manager creates an intent

A manager calls one of the edit*Tx methods (e.g., editFeesTx, addOrEditTokenTx).
2

SDK checks modification delay

If modification delay is 0 AND no scheduled activation time, the intent is created and executed in the same transaction (immediate).
3

Intent waits (if delayed)

If there is a modification delay or scheduled activation, the intent is created on-chain and waits.
4

Execution or cancellation

After the activation timestamp, any keeper can call executeVaultIntentTx. After the expiration timestamp, any keeper can call cancelVaultIntentTx.

Intent Structure

Task Types

Settings Types

Configures repeating time cycles that control when deposits, automated rebalancing, and management actions are allowed. The current position within the cycle is computed as (current_time - cycle_start_time) % cycle_duration. An action is allowed when the cycle position falls between its start and end offsets. If cycle_duration is 0, everything is always allowed. See Schedule & Cycles for full documentation.
Configures automated keeper-initiated rebalancing. When enabled, keepers can trigger rebalances when the vault’s token weights drift beyond the specified thresholds. See Rebalancing — Vault Rebalance for the full list of conditions.
Both rebalance_activation_threshold_abs_bps AND rebalance_activation_threshold_rel_bps must be exceeded by at least one token for a rebalance to be triggered — they are not independent conditions.
Configures LP (liquidity provider) mode. When enabled, the vault can act as a liquidity provider. lp_threshold_bps sets the maximum deviation from target weights before LP swaps are restricted.
Controls whether users can deposit into the vault. Always takes effect immediately (no modification delay).
Controls whether authorized managers can trigger rebalances that bypass the normal automation checks (schedule window, cooldown, deviation threshold). When enabled: false, this override is disabled and all rebalances must go through normal automation conditions.
Controls whether custom rebalances (type VaultCustom) are allowed.

TaskContext

Every edit method takes a TaskContext object:

Creating Intents

All edit methods follow the same pattern:

Executing Intents

After the activation timestamp, a keeper (or any user) can execute the intent:
For MakeDirectSwap intents, use executeDirectSwapVaultIntentTx which builds the flash swap:

Cancelling Intents

After the expiration timestamp (or by the manager before activation):

Fetching Intents

Bounty System

Each intent carries a bounty that incentivizes keepers to execute it:
The bounty scales between min_bounty and max_bounty based on how long the intent has been waiting, incentivizing faster execution.