Automatic Off-Ramping of Incentive Tokens via OAVs

Overview

Yield.xyz's Optimized Allocator Vault (OAV) supports automatic off-ramping of incentive tokens earned from underlying strategies. These rewards do not compound automatically and require harvesting, swapping into the vault's underlying token (e.g. USDC), and redepositing into the strategy.

The offrampIncentives() function automates this multi-step process.

By abstracting the complexity of manual reward claiming and reinvestment, this function ensures users earn consolidated yield in their original deposit asset.


Off-Ramping Function Design

function offrampIncentives()

This function:

  • Harvests incentive tokens from the strategy
  • Swaps them into the vault's underlying token
  • Reinvests the proceeds into the strategy, increasing the vault's asset balance without minting new shares — existing share holders benefit proportionally from the value accrual

The offramping logic is fully contained within the vault contract itself. All incentive tokens are claimed, swapped, and reinvested entirely on-chain, using predefined configurations controlled by the vault admin.

Only the vault admin is authorized to add or update allowed off-ramping configurations, ensuring tight control over execution logic and asset routing.

To maximize efficiency, the function can also be triggered automatically during any user interaction with the vault (e.g., deposit, redeem), enabling seamless compounding without relying on external infrastructure.


IncentiveOfframpRoute Configuration

Each allowed swap path is registered as an IncentiveOfframpRoute, a structure that defines exactly how the vault is allowed to execute the offramp for a given incentive token. This includes input/output tokens, the swap router, encoded function calldata, and max slippage.

Example structure:

struct IncentiveOfframpRoute {
  address inputToken;
  address outputToken;
  address router;
  bytes functionCallData;
  uint256 maxSlippageBps;
  bool active;
}

Routes are whitelisted by the vault admin and referenced by a route ID:

mapping(bytes32 => IncentiveOfframpRoute) public incentiveOfframpRoutes;

The vault uses these routes to execute swaps deterministically, enforcing slippage and path restrictions on-chain.


Flow Summary

  1. Vault harvests all claimable incentive rewards from the strategy
  2. Incentive tokens are routed through a whitelisted IncentiveOfframpRoute
  3. The swapped output is validated against maxSlippageBps
  4. The resulting underlying tokens are deposited into the underlying strategy (e.g., a lending protocol)
  5. The strategy’s receipt token is received by the OAV as the result of the deposit, increasing the vault’s asset balance

Execution Context

  • The entire offramping process executes fully on-chain, within the vault contract
  • No off-chain signing, custodial control, or third-party approvals are required
  • Incentive tokens remain under the vault’s control from harvest through reinvestment
  • The function may be triggered automatically during user actions to keep the vault continuously optimized.

Security

  • Transactions are only constructed using whitelisted IncentiveOfframpRoute definitions
  • Off-ramping logic is access-controlled and may be paused or disabled per vault
  • On-chain execution with no external custody significantly reduces operational complexity and trust assumptions