RestakingVault Developer DocsVault Deep Dive

Liquid Delegation Vaults (Bolts): Deep Dive

This page documents the on-chain bolt primitives used for liquid delegation on Tangle:

  • LiquidDelegationFactory: deploys vaults per (operator, asset, blueprintIds) tuple.
  • LiquidDelegationVault: holds custody of assets, delegates into MultiAssetDelegation, and mints transferable shares.

Vault Identity (Tuple) and Deterministic Lookup

The factory uses a deterministic key derived from:

  • operator
  • asset
  • blueprintIds (empty means All mode)

This lets integrators look up “the vault for operator X and blueprint set Y” without scanning events.

Share Accounting (What totalAssets() Means)

The reference vault implements ERC-4626-like conversions but uses the restaking delegation as totalAssets().

Implication: if a vault holds idle balances (or harvests rewards into its own balance), integrators must verify whether those balances are included in totalAssets() for share pricing.

Withdrawals (ERC-7540 Request / Redeem)

Withdrawals are asynchronous:

  • requestRedeem(...) burns shares and schedules an underlying unstake in MultiAssetDelegation.
  • After the exit delay (round-based), redeem(...) executes the unstake and transfers assets to the receiver.

Integration Notes for requestId

The vault records requests as (controller, requestId) → { shares, requestedRound, claimed } and emits RedeemRequest(...).

The reference redeem(...) currently locates a claimable request by matching shares rather than taking requestId as an explicit parameter. If you are building a production integration, treat “request identification” as a core UX/API concern (index and track requestId from the emitted event).

What UIs/Indexers Typically Track

  • currentRound() and delegationBondLessDelay() on MultiAssetDelegation to show when a redeem becomes claimable.
  • The vault’s RedeemRequest(controller, owner, requestId, ...) events to display pending requests.
  • The vault’s tuple (operator, asset, selectionMode, blueprintIds) to explain exposure.

Rewards (Vault-Level)

Bolts operate as a single delegator address at the restaking layer. Any delegator-level rewards accrue to the vault address.

The reference contract includes harvestRewards() as a hook; how rewards are reflected to share holders (share price vs separate claims) is an implementation decision and should be made explicit in your vault UX.

Risks and Caveats

  • Redemptions are delayed by the restaking exit delay (round-based).
  • Slashing can reduce the underlying delegation and change the assets received on exit.
  • Blueprint selection (All vs Fixed) determines the service surface area a bolt is exposed to.