Withdraw Yearn Curve mUSD Vault to USDC

Withdraw USDC from the Yearn Curve mUSD Pool yVault by unwrapping LP tokens and then swapping through Curve. Try this route →
const CurveMUSD_yVault = "0x8cc94ccd0f3841a468184aca3cc478d2148e1757" as Address; // Yearn Curve mUSD Pool yVault
const USDC = "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ETHEREUM_CHAIN,
 amountIn: ["1000000000000000000"], // Example amount for yVault token
 tokenIn: [CurveMUSD_yVault],
 tokenOut: [USDC],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Redeem from Yearn Curve mUSD Pool yVault ( 0x8cc94ccd0f3841a468184aca3cc478d2148e1757 ) to receive Curve mUSD LP tokens
  • Redeem from Curve.fi mUSD Pool ( 0x8474ddbe98f5aa3179b3b3f5942d724afcdec9f6 ) to receive Curve 3pool LP tokens
  • Redeem from Curve.fi 3pool ( 0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7 ) to receive USDC

Curve alUSD Pool yVault to USDC

Withdraw USDC from the Yearn Curve alUSD Pool yVault by unwrapping LP tokens and then swapping through Curve. Try this route →
const CurveAlUSD_yVault = "0xa74d4b67b3368e83797a35382afb776baae4f5c8" as Address; // Yearn Curve alUSD Pool yVault
const USDC = "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: ETHEREUM_CHAIN,
 amountIn: ["1000000000000000000"], // Example amount for yVault token
 tokenIn: [CurveAlUSD_yVault],
 tokenOut: [USDC],
 routingStrategy: "delegate",
 slippage: "100", // 1% slippage
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Redeem from Yearn Curve alUSD Pool yVault ( 0xa74d4b67b3368e83797a35382afb776baae4f5c8 ) to receive Curve alUSD LP tokens
  • Redeem from Curve.fi alUSD Pool ( 0x43b4fdfd4ff969587185cdb6f0bd875c5fc83f8c ) to receive Curve 3pool LP tokens
  • Redeem from Curve.fi 3pool ( 0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7 ) to receive USDC

Unstake styHONEY to BERA

Unwind styHONEY staking positions back to BERA for maximum flexibility and exit strategy execution. 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 styHONEY = "0x99d6A0FB9420F3995fD07dCc36AC827a8E146cf9" as Address;
const yHONEY = "0xC82971BcFF09171e16Ac08AEE9f4EA3fB16C3BDC" as Address;
const Underflow_HONEY = "0xfcbd14dc51f0a4d49d5e53c2e0950e0bc26d0dce" as Address;
const BERA = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: BERACHAIN_MAINNET,
 amountIn: ["1000000000000000000"], // 1 styHONEY
 tokenIn: [styHONEY],
 tokenOut: [BERA],
 routingStrategy: "delegate",
 slippage: "300", // 3% slippage for redemption
 referralCode: "styhoney-bera",
};

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

Withdraw Rooster LP (nALPHA/pUSD) to Native Plume

Exit Rooster YAP liquidity pool and convert to native Plume tokens for complete withdrawal. This route reduces 6 manual transactions to 1 Try this route →
const ROOSTER_YAP_NALPHA_PUSD = "0xfc3bd0e01b4e755aedd2a4087ccdb90c4d28f038" as Address;
const PLUME = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" as Address;

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

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Redeem Rooster YAP pool tokens to underlying PUSD and nALPHA
  • Merge tokens using the enso.merge action
  • Swap PUSD to native Plume via internal exchange
  • Swap nALPHA to native Plume via internal exchange
  • Consolidate native Plume tokens in user wallet

Unstake kHYPE to USDT0

Unstake kHYPE back to USDT0 for withdrawal from Kinetiq Protocol. Try this route →
const KHYPE = "0xfd739d4e423301ce9385c1fb8850539d657c296d" as Address;
const USDT0 = "0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb" as Address;

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

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Unstake kHYPE to HYPE via Kinetiq Protocol
  • Swap HYPE to USDT0 via internal exchange
  • Transfer USDT0 to user wallet

Unstake kHYPE to Native HYPE

Convert kHYPE back to native HYPE tokens for direct withdrawal from Kinetiq Protocol. Try this route →
const KHYPE = "0xfd739d4e423301ce9385c1fb8850539d657c296d" as Address;
const HYPE = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" as Address;

const routeParams: RouteParams = {
 fromAddress: userAddress,
 receiver: userAddress,
 chainId: HYPEREVM_CHAIN,
 amountIn: ["1000000000000000000"], // 1 kHYPE
 tokenIn: [KHYPE],
 tokenOut: [HYPE],
 routingStrategy: "delegate",
 slippage: "50", // 0.5% slippage
 referralCode: "kinetiq-unstake-native",
};

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Unstake kHYPE to native HYPE.

Unstake kHYPE to KEI

Convert kHYPE to WETH for wrapped Ethereum withdrawal from Kinetiq Protocol. This route reduces 3 manual transactions to 1. Try this route →
const KHYPE = "0xfd739d4e423301ce9385c1fb8850539d657c296d" as Address;
const KEI = "0xb5fe77d323d69eb352a02006ea8ecc38d882620c" as Address;

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

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Unstake kHYPE to HYPE and swap to KEI (WETH).

Unstake kHYPE to UBTC

Convert kHYPE to UBTC for wrapped Bitcoin withdrawal from Kinetiq Protocol. Try this route →
const KHYPE = "0xfd739d4e423301ce9385c1fb8850539d657c296d" as Address;
const UBTC = "0x9fdbda0a5e284c32744d2f17ee5c74b284993463" as Address;

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

const route = await client.getRouteData(routeParams);
await sendSmartWallet(route.tx, route.gas);
Route Mechanics:
  • Unstake kHYPE to HYPE and swap to UBTC.