ARKs

ARKs are the protocol's mechanism for deploying assets into different yield-generating strategies.

Each ARK represents a specific investment strategy or position, like lending on a DeFi platform or staking tokens. ARKs work together in Fleets to generate yield for users who deposit into Lazy Vaults.

When you deposit funds into a Lazy Vault, your assets are handled by the FleetCommander, which distributes them across multiple ARKs based on current market conditions and yield opportunities. Each Fleet has a Buffer ARK that acts as an entry and exit point, keeping some funds readily available for withdrawals while the rest are deployed in yield-generating ARKs.

Core Functions

Board Operation

function board(uint256 amount, bytes calldata data) external

Deposits assets into the underlying protocol. The data parameter allows passing protocol-specific information needed for the deposit. Implementation varies by ARK type.

Disembark Operation

function disembark(uint256 amount, bytes calldata data) external

Withdraws assets from the underlying protocol. Like board, data parameter usage depends on the specific ARK implementation.

Harvest Operation

function harvest(bytes calldata additionalData) external returns (address[] memory rewardTokens, uint256[] memory rewardAmounts)

Collects accumulated rewards from the underlying protocol. Returns arrays of reward token addresses and corresponding amounts.

Last updated

Was this helpful?