These routes are designed to efficiently move capital from one yield-generating position to another, allowing you to rebalance your portfolio between different strategies or protocols in a single transaction.
Note on Route Mechanics: The steps listed below are illustrative of a possible path. Enso’s API dynamically calculates the most efficient route at the moment of execution, so the exact swaps and bridges may vary based on real-time market conditions.
Table of Contents

Rebalance from Beramo LP to HONEY/WBERA LP

Rebalance a position from a Bearn BEX LP vault into a Kodiak Islands HONEY/WBERA liquidity pool. Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

const BERACHAIN_MAINNET = 80094;
const userAddress = "your-wallet-address" as Address;

const byAB_KODIAK_WBERA_BERAMO = "0xefC923B5F2162b83F0e05dC36148aD56615Bff70" as Address; // byAB KODIAK WBERA BERAMO
const HONEY_WBERA_POOL = "0x9659dc8c1565E0bd82627267e3b4eEd1a377ebE6" as Address; // HONEY/WBERA LP

const routeParams: RouteParams = {
  fromAddress: userAddress,
  receiver: userAddress,
  chainId: BERACHAIN_MAINNET,
  amountIn: ["1000000000000000000"], // 1 LP token
  tokenIn: [byAB_KODIAK_WBERA_BERAMO],
  tokenOut: [HONEY_WBERA_POOL],
  routingStrategy: "delegate",
  slippage: "400", // 4% slippage for volatile rebalance
  referralCode: "rebal-island",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Redeem byAB KODIAK WBERA BERAMO LP tokens from Bearn vault.
  • Redeem underlying BEX LP tokens to receive HONEY.
  • Split HONEY into HONEY and WBERA through internal routing.
  • Deposit balanced tokens into Kodiak Islands HONEY/WBERA liquidity pool.

Rebalance Rooster YAP LP into Nest Alpha Vault

Convert Rooster YAP liquidity pool tokens back to Nest Alpha Vault for vault-specific strategies. This route reduces 4 manual transactions to 1 Try this route →
const ROOSTER_YAP_NALPHA_PUSD = "0xfc3bd0e01b4e755aedd2a4087ccdb90c4d28f038" as Address;
const NEST_ALPHA_VAULT = "0x593ccca4c4bf58b7526a4c164ceef4003c6388db" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ROOSTER_CHAIN,
 amountIn: ["100000000000000000000"], // 100 Rooster YAP tokens
 tokenIn: [ROOSTER_YAP_NALPHA_PUSD],
 tokenOut: [NEST_ALPHA_VAULT],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
 referralCode: "rooster-vault-redeem",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Redeem Rooster YAP pool tokens to underlying PUSD and nALPHA
  • Swap PUSD to nALPHA via internal exchange
  • Merge tokens using the enso.merge action
  • Deposit consolidated nALPHA into Nest Alpha Vault

Rebalance yHONEY Vault into Kodiak HONEY/WBERA LP

Redeem yHONEY vault shares and use the underlying assets to create a Kodiak BERA/HONEY LP position. Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

const BERACHAIN_MAINNET = 80094;
const userAddress = "your-wallet-address" as Address;

const yHONEY = "0xC82971BcFF09171e16Ac08AEE9f4EA3fB16C3BDC" as Address;
const HONEY_WBERA_POOL = "0x9659dc8c1565E0bd82627267e3b4eEd1a377ebE6" as Address; // HONEY/WBERA LP

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: BERACHAIN_MAINNET,
 amountIn: ["1500000000000000000"], // 1.5 yHONEY
 tokenIn: [yHONEY],
 tokenOut: [HONEY_WBERA_POOL],
 routingStrategy: "delegate",
 slippage: "200", // 2% slippage for yield token pairing
 referralCode: "yhoney-island",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Redeem yHONEY vault shares to receive HONEY.
  • Split HONEY into HONEY and WBERA through internal routing.
  • Deposit balanced tokens into Kodiak Islands HONEY/WBERA pool.

Rebalance Nest Alpha Vault into Rooster LP

Rebalance a Nest Alpha Vault position into a Rooster Finance YAP (nALPHA/pUSD) liquidity pool. Try this route →
const NEST_ALPHA_VAULT = "0x593ccca4c4bf58b7526a4c164ceef4003c6388db" as Address;
const ROOSTER_YAP_NALPHA_PUSD = "0xfc3bd0e01b4e755aedd2a4087ccdb90c4d28f038" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ROOSTER_CHAIN,
 amountIn: ["100000000000000000000"], // 100 Nest Alpha Vault tokens
 tokenIn: [NEST_ALPHA_VAULT],
 tokenOut: [ROOSTER_YAP_NALPHA_PUSD],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
 referralCode: "rooster-vault-migration",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split Nest Alpha Vault tokens between PUSD and nALPHA paths using the enso.split action
  • Swap portion of vault tokens to PUSD via internal exchange
  • Keep portion as nALPHA (direct vault token)
  • Deposit PUSD and nALPHA into Rooster YAP liquidity pool

Rebalance Nest Elixir Vault into Rooster (USDC.e/pUSD) LP

Convert Nest Elixir Vault tokens into a Rooster Finance YAP liquidity pool for diversified yield farming. This route reduces 5 manual transactions to 1 Try this route →
const NEST_ELIXIR_VAULT = "0x9fbc367b9bb966a2a537989817a088afcaffdc4c" as Address;
const ROOSTER_YAP_USDC_PUSD = "0x5649009d65ebc80efee715c95768607b8fbacd55" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ROOSTER_CHAIN,
 amountIn: ["100000000000000000000"], // 100 Nest Elixir Vault tokens
 tokenIn: [NEST_ELIXIR_VAULT],
 tokenOut: [ROOSTER_YAP_USDC_PUSD],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
 referralCode: "rooster-elixir-zap",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split Nest Elixir Vault tokens between USDC.e and PUSD paths using the enso.split action
  • Swap portion of vault tokens to USDC.e via internal exchange
  • Swap portion of vault tokens to PUSD via internal exchange
  • Deposit USDC.e and PUSD into Rooster YAP liquidity pool