Provide Liquidity to Yearn Curve mUSD Vault with ETH

Swap ETH to DAI to provide liquidity to the Curve mUSD Pool (Curve.fi USD Metapool), and then deposit the LP tokens into the Yearn Curve mUSD yVault to earn yield. This route comprizes of 4 transactions. Try this route →
const ETH = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" as Address;
const CurveMUSD_yVault = "0x8cc94ccd0f3841a468184aca3cc478d2148e1757" as Address; // Yearn Curve mUSD Pool yVault

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ETHEREUM_CHAIN,
 amountIn: ["100000000000000000"], // 0.1 ETH
 tokenIn: [ETH],
 tokenOut: [CurveMUSD_yVault],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap ETH to DAI via Enso DEX Aggregator
  • Deposit DAI into Curve.fi 3pool ( 0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7 ) to receive Curve 3pool LP tokens
  • Deposit Curve 3pool LP tokens into Curve.fi mUSD Pool ( 0x8474ddbe98f5aa3179b3b3f5942d724afcdec9f6 ) to receive Curve mUSD LP tokens
  • Deposit Curve mUSD LP tokens into Yearn Curve mUSD yVault ( 0x8cc94ccd0f3841a468184aca3cc478d2148e1757 )

ETH to Curve stETH Factory yVault

Provide ETH asliquidity to the Curve stETH pool, and then deposit the LP tokens into the Yearn Curve stETH Factory yVault to earn yield. Try this route →
const ETH = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" as Address;
const CurveStETH_yVault = "0x5b8c556b8b2a78696f0b9b830b3d67623122e270" as Address; // Yearn Curve stETH Factory yVault

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ETHEREUM_CHAIN,
 amountIn: ["100000000000000000"], // 0.1 ETH
 tokenIn: [ETH],
 tokenOut: [CurveStETH_yVault],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Deposit ETH into Curve.fi stETH Pool ( 0xdc24316b9ae028f1497c275eb9192a3ea0f67022 ) to receive Curve stETH LP tokens
  • Deposit Curve stETH LP tokens into Yearn Curve stETH Factory yVault ( 0x5b8c556b8b2a78696f0b9b830b3d67623122e270 )

ETH to Balancer cbETH-wstETH Factory yVault

Zap into Yearn Balancer cbETH-wstETH Factory yVault to earn yield. Try this route →
const ETH = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" as Address;
const BalancerCBETHwstETH_yVault = "0xc325849908d482550b87f96ef60271b95f92c861" as Address; // Yearn Balancer cbETH-wstETH Factory yVault

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ETHEREUM_CHAIN,
 amountIn: ["100000000000000000"], // 0.1 ETH
 tokenIn: [ETH],
 tokenOut: [BalancerCBETHwstETH_yVault],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split ETH:
  • Swap ETH to wstETH via Enso DEX Aggregator
  • Swap ETH to cbETH via Enso DEX Aggregator
  • Deposit wstETH and cbETH into Balancer V2 pool ( 0xba12222222228d8ba445958a75a0704d566bf2c8 ) to receive Balancer cbETH-wstETH LP tokens
  • Deposit Balancer cbETH-wstETH LP tokens into Yearn Balancer cbETH-wstETH Factory yVault ( 0xc325849908d482550b87f96ef60271b95f92c861 )

ETH to Curve TriCryptoLLAMA Factory yVault

Zap ETH into Yearn Curve TriCryptoLLAMA Factory yVault. Try this route →
const ETH = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" as Address;
const CurveTriCryptoLLAMA_yVault = "0xe2cad35cfd1a9b5acd557558f44b096ef8340c1b" as Address; // Yearn Curve TriCryptoLLAMA Factory yVault

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ETHEREUM_CHAIN,
 amountIn: ["100000000000000000"], // 0.1 ETH
 tokenIn: [ETH],
 tokenOut: [CurveTriCryptoLLAMA_yVault],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Swap ETH to tBTC via Enso DEX Aggregator
  • Deposit tBTC into Curve.fi TriCryptoLLAMA Pool ( 0x2889302a794da87fbf1d6db415c1492194663d13 ) to receive Curve TriCryptoLLAMA LP tokens
  • Deposit Curve TriCryptoLLAMA LP tokens into Yearn Curve TriCryptoLLAMA Factory yVault ( 0xe2cad35cfd1a9b5acd557558f44b096ef8340c1b )

Standard Bridged USDC e Optimism to Velodrome v2 MAI-alUSD Factory yVault

Zap USDC_e on Optimism chain to Yearn Velodrome v2 MAI-alUSD Factory yVault to earn yield. Try this route →
const USDC_e = "0x7f5c764cbc14f9669b88837ca1490cca17c31607" as Address; // Standard Bridged USDC e Optimism
const VelodromeMAIalUSD_yVault = "0xd02ce9e211279ab3f414ff7a661518f9173780cb" as Address; // Yearn Velodrome v2 MAI-alUSD Factory yVault

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

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split Standard Bridged USDC e Optimism:
  • Swap Standard Bridged USDC e Optimism to ALUSD via Enso DEX Aggregator
  • Swap Standard Bridged USDC e Optimism to MAI (MIMATIC) via Enso DEX Aggregator
  • Deposit ALUSD and MIMATIC into Velodrome v2 S-AMMV2-alusd/mai pool ( 0xa062ae8a9c5e11aaa026fc2670b0d65ccc8b2858 ) to receive Velodrome v2 MAI-alUSD LP tokens
  • Deposit Velodrome v2 MAI-alUSD LP tokens into Yearn Velodrome v2 MAI-alUSD Factory yVault ( 0xd02ce9e211279ab3f414ff7a661518f9173780cb )

USDC to yvAero-BMX-wBLT-f

Split USDC into BMX and Wrapped BMX Liquidity Token (wBLT), provide liquidity to the Aerodrome BMX-wBLT pool, and then deposit the LP tokens into the Yearn yvAero-BMX-wBLT-f Vault to earn yield. Try this route →
const USDC = "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" as Address; // USDC on Base
const yvAero_BMX_wBLT_f = "0x31ce9ab5a358e5c802cc01080f29a65a14eb45b8" as Address; // Yearn yvAero-BMX-wBLT-f Vault
const BMX = "0x548f93779fbc992010c07467cbaf329dd5f059b7" as Address; // BMX by Morphex
const wBLT = "0x4e74d4db6c0726ccded4656d0bce448876bb4c7a" as Address; // Wrapped BMX Liquidity Token
const Aerodrome_BMX_wBLT_LP = "0x61907c8c3e6ef7ed813acc2fbbbf8c05ac0f31d5" as Address; // Aerodrome BMX-wBLT LP token

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

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split USDC:
  • Swap USDC to BMX via Enso DEX Aggregator
  • Swap USDC to wBLT via Enso DEX Aggregator
  • Deposit BMX and wBLT into Aerodrome Finance pool ( 0xcf77a3ba9a5ca399b7c97c74d54e5b1beb874e43 ) to receive Aerodrome BMX-wBLT LP tokens
  • Deposit Aerodrome BMX-wBLT LP tokens into Yearn yvAero-BMX-wBLT-f Vault ( 0x31ce9ab5a358e5c802cc01080f29a65a14eb45b8 )

BERA to BERA/HONEY LP Zap

Convert BERA into a balanced BERA/HONEY liquidity position on Kodiak Islands for LP rewards and yield farming. Try this route →
import { Address, EnsoClient, RouteParams } from "@ensofinance/sdk";

const client = new EnsoClient({
    apiKey: "your-api-key-here",
});

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

const BERA = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" as Address;
const HONEY_WBERA_POOL = "0x9659dc8c1565E0bd82627267e3b4eEd1a377ebE6" as Address; // HONEY/WBERA LP

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: BERACHAIN_MAINNET,
 amountIn: ["2000000000000000000"], // 2 BERA
 tokenIn: [BERA],
 tokenOut: [HONEY_WBERA_POOL],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
 referralCode: "kodiak-zap",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Split BERA into HONEY and WBERA portions through internal routing.
  • Deposit balanced tokens into Kodiak Islands BERA/HONEY liquidity pool.

Create a SushiSwap USDC/ETH LP from vbUSDC

Convert Vault Bridge USDC to SushiSwap USDC/ETH LP tokens for decentralized exchange yield farming. Try this route →

const USDC_VB = "0x203a662b0bd271a6ed5a60edfbd04bfce608fd36" as Address;
const SLP_USDC_ETH = "0xf9b1ae5f1929f9a4de548e98e0393ae1a9d1d0f8" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: KATANA_MAINNET,
 amountIn: ["1000000000"], // 1,000 vbUSDC
 tokenIn: [USDC_VB],
 tokenOut: [SLP_USDC_ETH],
 routingStrategy: "delegate",
 slippage: "200", // 2% slippage for LP creation
 referralCode: "vbusdc-sushi",
};
const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Deposit VB USDC into Yearn vault to receive yvvbUSDC.
  • Convert portions to ETH and USDC for balanced LP position.
  • Deposit balanced assets into SushiSwap USDC/ETH pool.