Skip to main content

Choose the action

For the reserve-deposit exercise, use one same-asset source and one deposit step. Configure it in the editor rather than copying another vault’s encoded parameters. For a supported ERC-4626 source, the action may be ApproveAndDeposit4626VaultHook. Let the registry determine the deployed hook and required parameters. Do not substitute an address from this guide or another chain. If token metadata or required parameters have not resolved, do not create the strategy. A visible one-step deposit is the expected route for this exercise; an unexpected swap, redemption, or extra step requires review.

Check what is saved

The generated execution plan is stored at action_config.execution_params.plan.steps, with the strategy execution account at execution_params.strategy_address. Each step records its hook, chain, target, arguments, and input/output effects. It is generated configuration to inspect, not JSON to paste into the rule editor. The current plan cannot be replaced with a legacy body containing only execution_name and execution_address. After Create / Save, reopen the definition and verify the selected source and action survived the round trip.

Keep the size in the first step’s units

The reserve formula returns raw underlying assets because the chosen deposit hook consumes those assets. A redemption hook can instead consume raw source shares; a token action can consume a different token. The action label alone does not determine units. Positive fractional sizes are truncated toward zero before intent publication. Use the tested integer-ratio reserve formula from the writing guide and check one-raw-unit boundaries. A zero amount is not an executable deposit. For a multi-step plan, later steps may use the preceding hook’s reported amount through use_prev_hook_amount. Do not independently size each step as though the first amount had the same denomination throughout.

Keep execution checks separate

A valid saved plan does not prove balances, liquidity, hook authorization, pricing, session-key readiness, or transaction success. Resolve blockers through Yield Sources, Merkle Trees, and Pause Operations. Verify actual execution in Intent History.