Use these routes to enter complex yield farming positions in a single step, converting a base asset like a stablecoin or native token directly into a yield-bearing vault or liquidity pool token.
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

Zap PLUME into Mystic myUSDC Vault

Deposit native PLUME and convert it into a myUSDC vault position on Mystic. Try this route →
// SDK Example
const client = new EnsoClient({
apiKey: 'your-api-key'
});

const routeData = await client.getRouteData({
 fromAddress: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 chainId: 98866,
 amountIn: ['1000000000000000000'],
 slippage: '300',
 tokenIn: ['0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE'],
 tokenOut: ['0x6c92efa3F77760619bb13d395836415ac18C86dc'],
 routingStrategy: 'router'
});

// If using 'router' strategy, approval is often required for the input token.
await sendEoa(client.getApprovalData(routeData.route.tokenIn[0]));
await sendEoa(routeData.tx, routeData.gas);
Route Mechanics:
  • swap PLUME (input token) for USDC.e
  • deposit USDC.e into the myUSDC pool, interacting with primary 0xCE192A6E105cD8dd97b8Dedc5B5b263B52bb6AE0

Deposit native PLUME into Solera aPlunALPHA

Deposit native PLUME and convert it into a Solera aPlunALPHA vault position. Try this route →
// SDK Example
const client = new EnsoClient({
apiKey: 'your-api-key'
});

const routeData = await client.getRouteData({
 fromAddress: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 chainId: 98866,
 amountIn: ['1000000000000000'],
 slippage: '300',
 tokenIn: ['0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE'],
 tokenOut: ['0x5d0EC9B10e6759719CeFE14b8c881634678b32f2'],
 routingStrategy: 'router'
});

// If using 'router' strategy, approval is often required for the input token.
await sendEoa(client.getApprovalData(routeData.route.tokenIn[0]));
await sendEoa(routeData.tx, routeData.gas);
Route Mechanics:
  • swap PLUME for PUSD using enso.swap action
  • deposit PUSD into NALPHA Nucleus pool, interacting with primary 0xc9f6a492fb1d623690dc065bbced6dfb4a324a35
  • deposit NALPHA into the Solera pool, interacting with primary 0x5d0ec9b10e6759719cefe14b8c881634678b32f2

Deposit USDC.e into Nucleus nYIELD Vault

Deposit bridged USDC.e and convert it into an nYIELD vault position on Nucleus. Try this route →
// SDK Example
const client = new EnsoClient({
    apiKey: 'your-api-key'
});

const routeData = await client.getRouteData({
 fromAddress: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 chainId: 98866,
 amountIn: ['1000000000'],
 slippage: '300',
 tokenIn: ['0x78adD880A697070c1e765Ac44D65323a0DcCE913'],
 tokenOut: ['0x892DFf5257B39f7afB7803dd7C81E8ECDB6af3E8'],
 routingStrategy: 'delegate'
});
await sendSmartWallet(routeData.tx, routeData.gas);
Route Mechanics:
  • swap USDC for PUSD using enso.swap action
  • deposit PUSD into nYIELD Nucleus pool, interacting with primary 0x92a735f600175fe9ba350a915572a86f68ebbe66 to get nUSDY

Deposit USDC.e into Tempest PUSD Vault

Deposit bridged USDC.e and convert it into a Tempest PUSD vault position. Try this route →
// SDK Example
const client = new EnsoClient({
apiKey: 'your-api-key'
});

const routeData = await client.getRouteData({
 fromAddress: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 chainId: 98866,
 amountIn: ['1000000000'],
 slippage: '300',
 tokenIn: ['0x78adD880A697070c1e765Ac44D65323a0DcCE913'],
 tokenOut: ['0x3C4F9804ce0810821F61289Eb4F92c8E5007c119'],
 routingStrategy: 'delegate'
});
await sendSmartWallet(routeData.tx, routeData.gas);
Route Mechanics:
  • swap USDC.e for PUSD using enso.swap action
  • deposit PUSD into Tempest pool, interacting with primary 0x3C4F9804ce0810821F61289Eb4F92c8E5007c119

Stake PLUME for pETH on Dinero

Deposit native PLUME and convert it into the pETH liquid staking derivative on Dinero. Try this route →
// SDK Example
const client = new EnsoClient({
apiKey: 'your-api-key'
});

const routeData = await client.getRouteData({
 fromAddress: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 chainId: 98866,
 amountIn: ['1000000000'],
 slippage: '300',
 tokenIn: ['0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE'],
 tokenOut: ['0x39d1F90eF89C52dDA276194E9a832b484ee45574'],
 routingStrategy: 'delegate'
});
await sendSmartWallet(routeData.tx, routeData.gas);

Deposit PUSD into Rooster (nALPHA/PUSD) LP

Deposit PUSD and convert it into a Rooster (nALPHA/PUSD) LP position. Try this route →
// SDK Example
const client = new EnsoClient({
apiKey: 'your-api-key'
});

const routeData = await client.getRouteData({
 fromAddress: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 chainId: 98866,
 amountIn: ['1000000000'],
 slippage: '300',
 tokenIn: ['0xdddd73f5df1f0dc31373357beac77545dc5a6f3f'],
 tokenOut: ['0xfc3bd0e01b4e755aedd2a4087ccdb90c4d28f038'],
 routingStrategy: 'delegate'
});
await sendSmartWallet(routeData.tx, routeData.gas);
Route Mechanics:
  • split PUSD to NALPHA and PUSD using the enso.split action
  • deposit NALPHA and PUSD into the Rooster pool, interacting with primary 0xfc3bd0e01b4e755aedd2a4087ccdb90c4d28f038

Deposit WETH into the Nest Alpha Vault

Deposit WETH and convert it into a Nest Alpha Vault position. Try this route →
// SDK Example
const client = new EnsoClient({
apiKey: 'your-api-key'
});

const routeData = await client.getRouteData({
 fromAddress: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 receiver: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
 chainId: 98866,
 amountIn: ['1000000000'],
 slippage: '300',
 tokenIn: ['0xca59ca09e5602fae8b629dee83ffa819741f14be'],
 tokenOut: ['0x593ccca4c4bf58b7526a4c164ceef4003c6388db'],
 routingStrategy: 'delegate'
});
await sendSmartWallet(routeData.tx, routeData.gas);
Route Mechanics:
  • swap WETH for PUSD using the enso.swap action
  • deposit PUSD into the Nest Vault, interacting with primary 0xc9f6a492fb1d623690dc065bbced6dfb4a324a35

Deposit USDC to get yDAI (Yearn)

Convert USDC to DAI and deposit it into the Yearn DAI v2 Vault. Try this route →
const USDC = "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" as Address;
const yvDAI = "0xda816459f1ab5631232fe5e97a05bbbb94970c95" as Address; // Yearn DAI v2 Vault token

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ETHEREUM_CHAIN,
 amountIn: ["1000000000"], // 1000 USDC
 tokenIn: [USDC],
 tokenOut: [yvDAI],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap USDC to DAI via Enso DEX Aggregator
  • Deposit DAI into Yearn DAI v2 Vault (0xda816459f1ab5631232fe5e97a05bbbb94970c95)

HONEY to yHONEY Zap

Deposit HONEY into the Bearn yHONEY vault. Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

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

const HONEY = "0xfcbd14dc51f0a4d49d5e53c2e0950e0bc26d0dce" as Address;
const yHONEY = "0xc82971BcFF09171e16Ac08AEE9f4EA3fB16C3BDC" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: BERACHAIN_MAINNET,
 amountIn: ["1000000000000000000"], // 1 HONEY
 tokenIn: [HONEY],
 tokenOut: [yHONEY],
 routingStrategy: "delegate",
 slippage: "50", // 0.5% slippage for stable yield
 referralCode: "bearn-deposit",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap HONEY to HONEY through Enso’s routing.
  • Deposit HONEY into Bearn yHONEY vault.

BERA to yHONEY Yield Zap

Convert native BERA into a Bearn yHONEY vault position. Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

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

const BERA = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" as Address;
const yHONEY = "0xC82971BcFF09171e16Ac08AEE9f4EA3fB16C3BDC" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: BERACHAIN_MAINNET,
 amountIn: ["1500000000000000000"], // 1.5 BERA
 tokenIn: [BERA],
 tokenOut: [yHONEY],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
 referralCode: "bera-yhoney",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap BERA to HONEY through Enso’s routing.
  • Deposit HONEY into Bearn yHONEY vault.

USDCe to yHONEY Vault Zap

Convert bridged USDC.e into a Bearn yHONEY vault position. Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

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

const USDCe = "0x549943e04f40284185054145c6E4e9568C1D3241" as Address;
const HONEY = "0xfcbd14dc51f0a4d49d5e53c2e0950e0bc26d0dce" as Address;
const yHONEY = "0xC82971BcFF09171e16Ac08AEE9f4EA3fB16C3BDC" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: BERACHAIN_MAINNET,
 amountIn: ["1000000000"], // 1,000 USDCe
 tokenIn: [USDCe],
 tokenOut: [yHONEY],
 routingStrategy: "delegate",
 slippage: "200", // 2% slippage for bridge + swap
 referralCode: "bridge-yhoney",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap USDCe to HONEY through Enso’s routing.
  • Deposit HONEY into Bearn yHONEY vault.

iBGT to yHONEY Vault Zap

Convert iBGT governance tokens into a Bearn yHONEY vault position. Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

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

const iBGT = "0xac03CABA51e17c86c921E1f6CBFBdC91F8BB2E6b" as Address;
const yHONEY = "0xC82971BcFF09171e16Ac08AEE9f4EA3fB16C3BDC" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: BERACHAIN_MAINNET,
 amountIn: ["500000000000000000"], // 0.5 iBGT
 tokenIn: [iBGT],
 tokenOut: [yHONEY],
 routingStrategy: "delegate",
 slippage: "400", // 4% slippage for governance token
 referralCode: "ibgt-yield",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap iBGT to HONEY through Enso’s routing.
  • Deposit HONEY into Bearn yHONEY vault.

YEET to styHONEY Yield Zap

Convert YEET tokens into a staked yield position (styHONEY). Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

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

const YEET = "0x08A38Caa631DE329FF2DAD1656CE789F31AF3142" as Address;
const styHONEY = "0x99d6A0FB9420F3995fD07dCc36AC827a8E146cf9" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: BERACHAIN_MAINNET,
 amountIn: ["100000000000000000000"], // 100 YEET
 tokenIn: [YEET],
 tokenOut: [styHONEY],
 routingStrategy: "delegate",
 slippage: "500", // 5% slippage for volatile meme token
 referralCode: "yeet-styhoney",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap YEET to HONEY through Enso’s routing.
  • Deposit HONEY into Bearn yHONEY vault.
  • Stake yHONEY to receive styHONEY.

Layer AUSD into Morpho bbqAUSD Vault

Deposit AUSD into a Yearn vault and subsequently into a Morpho Blue bbqAUSD vault. Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

const KATANA_MAINNET = 747474;
const userAddress = "your-wallet-address" as Address;

const AUSD = "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a" as Address;
const bbqAUSD = "0xdE6a4F28Acfe431DD1CfA2D9c7A3d8301624a841" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: KATANA_MAINNET,
 amountIn: ["1000000000"], // 1,000 AUSD
 tokenIn: [AUSD],
 tokenOut: [bbqAUSD],
 routingStrategy: "delegate",
 slippage: "150", // 1.5% slippage for multi-step
 referralCode: "ausd-morpho",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Deposit AUSD into Yearn AUSD vault to receive yvAUSD.
  • Deposit yvAUSD into Morpho Blue bbqAUSD vault for enhanced yield.

USDS to steakUSDC Prime Vault

Convert USDS into a Morpho Steakhouse prime USDC vault position. Try this route →
const USDC_VB = "0x203a662b0bd271a6ed5a60edfbd04bfce608fd36" as Address; // Assuming USDS input is USDC_VB
const steakUSDC = "0x61d4f9d3797ba4da152238c53a6f93fb665c3c1d" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: KATANA_MAINNET,
 amountIn: ["1000000000"], // 1,000 USDS
 tokenIn: [USDC_VB],
 tokenOut: [steakUSDC],
 routingStrategy: "delegate",
 slippage: "150", // 1.5% slippage for prime vault
 referralCode: "usds-prime",
};
const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Convert USDC to USDS for stablecoin diversification.
  • Deposit USDS into Yearn vault for base yield.
  • Deposit vault tokens into Morpho steakUSDC prime vault.

Convert LBTC into Yearn WBTC Vault

Convert Liquid Bitcoin (LBTC) into a Yearn WBTC vault position. Try this route →
const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: KATANA_MAINNET,
 amountIn: ["100000000"], // 1 LBTC
 tokenIn: [LBTC],
 tokenOut: [yvvbWBTC],
 routingStrategy: "delegate",
 slippage: "200", // 2% slippage for BTC yield
 referralCode: "lbtc-yield",
};
const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Convert LBTC to WBTC through liquidity protocols.
  • Deposit WBTC into Yearn vault for Bitcoin yield farming.

Compound KAT Rewards into Yearn USDC Vault

Convert KAT reward tokens into a Yearn USDC vault position. Try this route →
const KAT = "0x7f1f4b4b29f5058fa32cc7a97141b8d7e5abdc2d" as Address;
const yvvbUSDC = "0x80c34bd3a3569e126e7055831036aa7b212cb159" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: KATANA_MAINNET,
 amountIn: ["10000000000000000000000"], // 10,000 KAT
 tokenIn: [KAT],
 tokenOut: [yvvbUSDC],
 routingStrategy: "delegate",
 slippage: "500", // 5% slippage for native token
 referralCode: "kat-compound",
};
const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Convert KAT rewards to USDC through DEX protocols.
  • Deposit USDC into Yearn vault for optimized yield.
  • Compound rewards automatically through vault strategies.

Zap PUSD into Rooster Stablecoin LP (USDT/pUSD)

Deposit PUSD to create a stablecoin LP position (USDT/pUSD) on Rooster Finance. Try this route →
const PLUME_USD = "0xdddd73f5df1f0dc31373357beac77545dc5a6f3f" as Address;
const ROOSTER_YAP_USDT_PUSD = "0xd5c02efe86ebbc03126281e07b4d43f0b1021065" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ROOSTER_CHAIN,
 amountIn: ["100000000000000000000"], // 100 PUSD
 tokenIn: [PLUME_USD],
 tokenOut: [ROOSTER_YAP_USDT_PUSD],
 routingStrategy: "delegate",
 slippage: "50", // 0.5% slippage
 referralCode: "rooster-usdt-pusd",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split Plume USD between USDT and pUSD paths using the enso.split action
  • Swap portion of PUSD to USDT via internal exchange
  • Keep portion as pUSD (direct conversion)
  • Deposit USDT and pUSD into Rooster YAP stablecoin liquidity pool

Zap Plume USD into Rooster (nALPHA/pUSD) LP

Deposit Plume USD to create a balanced LP position (nALPHA/pUSD) on Rooster Finance. Try this route →
const PLUME_USD = "0xdddd73f5df1f0dc31373357beac77545dc5a6f3f" as Address;
const ROOSTER_YAP_NALPHA_PUSD = "0xfc3bd0e01b4e755aedd2a4087ccdb90c4d28f038" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ROOSTER_CHAIN,
 amountIn: ["100000000000000000000"], // 100 PUSD
 tokenIn: [PLUME_USD],
 tokenOut: [ROOSTER_YAP_NALPHA_PUSD],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
 referralCode: "rooster-nalpha-pusd",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split Plume USD between pUSD and nALPHA paths using the enso.split action
  • Keep portion as pUSD (direct conversion)
  • Swap portion of PUSD to nALPHA via internal exchange
  • Deposit pUSD and nALPHA into Rooster YAP nALPHA/pUSD pool

Zap Plume Native into Rooster (USDC.e/XAUM) LP

Deposit native PLUME to create a multi-asset LP position (USDC.e/XAUM) on Rooster Finance. Try this route →
const PLUME = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" as Address;
const ROOSTER_YAP_USDC_XAUM = "0xd9822928f894b12e5e4ea1ec2890ac233b9fd871" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ROOSTER_CHAIN,
 amountIn: ["100000000000000000000"], // 100 PLUME
 tokenIn: [PLUME],
 tokenOut: [ROOSTER_YAP_USDC_XAUM],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
 referralCode: "rooster-yap-zap",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split native PLUME between USDC.e and XAUM conversion paths using the enso.split action
  • Swap portion of PLUME to USDC.e via internal exchange
  • Swap portion of PLUME to XAUM via internal exchange
  • Deposit USDC.e and XAUM into Rooster YAP-USDC.e-XAUM pool

Convert UETH to Staked HYPE (kHYPE)

Convert UETH stablecoin into a staked HYPE position (kHYPE). Try this route →
const UETH = "0xbe6727b535545c67d5caa73dea54865b92cf7907" as Address;
const KHYPE = "0xfd739d4e423301ce9385c1fb8850539d657c296d" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: HYPEREVM_CHAIN,
 amountIn: ["1000000000000000000"], // 1 DAI
 tokenIn: [UETH],
 tokenOut: [KHYPE],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
 referralCode: "kinetiq-dai-stake",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap UETH for HYPE and stake to kHYPE.