Configure hook authorization, generate merkle proofs, and publish active proof artifacts.
Merkle Trees are the authorization layer for keeper and strategy execution. A keeper can only execute a hook when the hook call matches a leaf in an authorized merkle tree.The operational flow is:
Draft a root configuration.
Activate the configuration version.
Generate a merkle tree from the active config.
Primary manager proposes / publishes the root onchain.
Hook configs define which hook + parameter combinations the vault authorizes.When creating a config, choose hooks from the registry and set inspect parameters such as:
yield_source — target yield source address.
token — token address.
oracle — oracle address.
Freeform hook parameters.
Each parameterized row becomes a merkle leaf. Keepers must supply the matching proof at execution time.
Only one config version is active at a time. Activating a config selects the version used for the next tree generation.Activating a config does not update the onchain root by itself. It selects what Erebor will generate next.
The Sync action compares generated tree state to onchain state and returns the next action:
Action
Meaning
in_sync
Onchain root already matches
needs_generation
Generate a tree for the active config
propose
Sign a root proposal transaction
pending_timelock
Wait for the proposal timelock
execute
Sign execution after timelock expiry
GET /api/v1/merkle/sync?vault_address={addr}&chain_id={id}
Strategies and emergency exits depend on active merkle withdrawal hooks. A yield source can be whitelisted but still unavailable for execution if the active merkle root does not authorize the required hook path.
Emergency liquidity exit requires an active withdrawal hook for the target yield source. If the active config has no matching withdrawal hook or the proof artifact is missing the leaf, the Pause page cannot arm that source until the merkle configuration is fixed.