Skip to Content
LearnProtocol ArchitectureStrategiesOverview

Strategies: Overview

Lombard Strategies are on-chain ERC-20 tokens that represent proportional ownership in a managed portfolio. Users deposit supported assets and receive strategy shares priced against an externally posted Net Asset Value (NAV). Unlike ERC-4626, there is no immediate withdrawal path. Exits are handled by an asynchronous redemption queue.

The concrete deployment is MultiAssetWithAsyncRedemptionStrategy, which composes several upgradeable abstract modules deployed behind an OpenZeppelin BeaconProxy.


Module composition

The strategy is built from a stack of abstract upgradeable modules. Each layer adds functionality on top of the one below:


Shard relationship

Shards are separate contracts that act as custody and execution endpoints for the portfolio. The strategy holds a registry of approved shard addresses and funds them on demand.

Shard: strategy-linked, holds a reference to an IStrategy and can call requestFunding to pull assets from the strategy, or pushToStrategy to return them.

RemoteShard: no strategy link; arbitrary external calls are the only interaction surface, all gated by the validator (or bypassed by PRIVILEGED_EXECUTOR_ROLE). Allows for the same authorization framework to be deployed to other EVM chains, without the Strategy tokenization.

See Shards and Exec Policy for full detail.


Accounting

Strategies use externally posted NAV rather than token-balance accounting. pricePerShare is the source of truth for totalAssets(), share minting, and redemption accounting.

See Accounting for the full NAV and price-per-share model.


Upgradeability

Each contract in the system is deployed behind an OpenZeppelin BeaconProxy, with the administrator utilizing a timelock for implementation changes.


Further reading

Last updated on