> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enso.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Position Rebalancing

> Optimize DeFi portfolio by rebalancing positions efficiently

## 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 →**](https://happypath.enso.build?chainId=80094\&tokenIn=0xefC923B5F2162b83F0e05dC36148aD56615Bff70\&tokenOut=0x9659dc8c1565E0bd82627267e3b4eEd1a377ebE6)

```javascript theme={null}
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 →**](https://happypath.enso.build/?chainId=98866\&tokenIn=0xfc3bd0e01b4e755aedd2a4087ccdb90c4d28f038\&tokenOut=0x593ccca4c4bf58b7526a4c164ceef4003c6388db)

```javascript theme={null}
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 Nest Alpha Vault into Rooster LP

Rebalance a Nest Alpha Vault position into a Rooster Finance YAP (nALPHA/pUSD) liquidity pool.
[**Try this route →**](https://happypath.enso.build?chainId=98866\&tokenIn=0x593ccca4c4bf58b7526a4c164ceef4003c6388db\&tokenOut=0xfc3bd0e01b4e755aedd2a4087ccdb90c4d28f038)

```mermaid theme={null}
flowchart LR
    NEST((NEST)) --> SG1
    subgraph SG1["enso.split"]
        A1[rooster.swap] --> PUSD((PUSD))
    end
    SG1 --> A2[rooster-yap.deposit] --> ROOSTER_LP((ROOSTER_LP))
```

```javascript theme={null}
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 →**](https://happypath.enso.build?chainId=98866\&tokenIn=0x9fbc367b9bb966a2a537989817a088afcaffdc4c\&tokenOut=0x5649009d65ebc80efee715c95768607b8fbacd55)

```javascript theme={null}
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
