Use bundle with bridge action to provide liquidity crosschain. This example demonstrates bridging from Ethereum to Base and depositing into an Uniswap V4 pool.
// Chain IDs
const ETHEREUM_CHAIN_ID = 1;
const BASE_CHAIN_ID = 8453;

// Common addresses
const ETH_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"; // Native ETH representation
const WALLET_ADDRESS = "0x93621DCA56fE26Cdee86e4F6B18E116e9758Ff11"; // User wallet/fee receiver

// Ethereum Mainnet Token Addresses
const USDC_ETHEREUM = "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"; // USDC on Ethereum

// Stargate Addresses
const STARGATE_POOL_NATIVE_ETHEREUM =
  "0x77b2043768d28e9c9ab44e1abfc95944bce57931"; // StargatePoolNative on Ethereum

// Base Chain Token Addresses
const DAI_BASE = "0x50c5725949a6f0c72e6c4a641f24049a917db0cb"; // L2 Standard Bridged DAI on Base
const USDC_BASE = "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"; // USDC on Base

// Uniswap V4 Addresses
const UNISWAP_V4_POSITION_MANAGER_BASE =
  "0x7c5f5a4bbd8fd63184577525326123b519429bdc"; // Uniswap V4 PositionManager on Base

const bundle = await client.getBundleData(
  {
    chainId: ETHEREUM_CHAIN_ID,
    fromAddress: WALLET_ADDRESS,
    spender: WALLET_ADDRESS,
    routingStrategy: "router",
  },
  [
    {
      protocol: "enso",
      action: "route",
      args: {
        tokenIn: USDC_ETHEREUM,
        amountIn: parseUnits("1000", 6).toString(), // 1000 USDC
        tokenOut: ETH_ADDRESS,
      },
    },
    {
      protocol: "enso",
      action: "fee",
      args: {
        token: ETH_ADDRESS,
        amount: { useOutputOfCallAt: 0 },
        bps: 25, // 0.25% fee
        receiver: WALLET_ADDRESS,
      },
    },
    {
      protocol: "stargate",
      action: "bridge",
      args: {
        primaryAddress: STARGATE_POOL_NATIVE_ETHEREUM,
        destinationChainId: BASE_CHAIN_ID,
        tokenIn: ETH_ADDRESS,
        amountIn: { useOutputOfCallAt: 1 },
        receiver: WALLET_ADDRESS,
        callback: [
          {
            protocol: "enso",
            action: "balance",
            args: {
              token: ETH_ADDRESS,
            },
          },
          {
            protocol: "enso",
            action: "split",
            args: {
              tokenIn: ETH_ADDRESS,
              tokenOut: [DAI_BASE, USDC_BASE],
              amountIn: { useOutputOfCallAt: 0 },
            },
          },
          {
            protocol: "enso",
            action: "slippage",
            args: {
              amountOut: { useOutputOfCallAt: 1, index: 0 },
              bps: 50, // 0.5% slippage
            },
          },
          {
            protocol: "enso",
            action: "slippage",
            args: {
              amountOut: { useOutputOfCallAt: 1, index: 1 },
              bps: 50, // 0.5% slippage
            },
          },
          {
            protocol: "uniswap-v4",
            action: "depositclmm",
            args: {
              tokenOut: UNISWAP_V4_POSITION_MANAGER_BASE,
              ticks: [-276842, -275842],
              tokenIn: [DAI_BASE, USDC_BASE],
              poolFee: "100", // 0.01% fee tier
              amountIn: [
                { useOutputOfCallAt: 1, index: 0 },
                { useOutputOfCallAt: 1, index: 1 },
              ],
            },
          },
          {
            protocol: "enso",
            action: "slippage",
            args: {
              amountOut: { useOutputOfCallAt: 4 },
              bps: 200, // 2% slippage
            },
          },
        ],
      },
    },
  ]
);

Updated