refund liquidity

This section contains SDK example for refunding undeposited liquidity in DEX

Refund tokens that were sent to LP account but weren't added to a liquidity pool yet

import TonWeb from "tonweb";
import { DEX } from "@ston-fi/sdk";

const USER_WALLET_ADDRESS = ""; // ! replace with your address
const JETTON_0_ADDRESS = "EQA2kCVNwVsil2EM2mB0SkXytxCqQjS4mttjDpnXmwG9T6bO"; // STON

const router = new DEX.v1.Router({
  tonApiClient: new TonWeb.HttpProvider(),

const pool = await router.getPool({
  token0: JETTON_0_ADDRESS,
  token1: JETTON_1_ADDRESS,

if (!pool) {
  throw Error(`Pool for ${JETTON_0_ADDRESS}/${JETTON_1_ADDRESS} not found`);

const lpAccount = await pool.getLpAccount({ ownerAddress: USER_WALLET_ADDRESS });

if (!lpAccount) {
  throw Error(
    `LpAccount for ${USER_WALLET_ADDRESS} at ${JETTON_0_ADDRESS}/${JETTON_1_ADDRESS} pool not found`

const txParams = await lpAccount.buildRefundTxParams({
  queryId: 12345,

// To execute the transaction, you need to send a transaction to the blockchain.
// This code will be different based on the wallet you are using to send the tx from
// logging is used for demonstration purposes
  amount: txParams.gasAmount,
  payload: txParams.payload,

Last updated