> ## Documentation Index
> Fetch the complete documentation index at: https://docs.exponent.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel Withdrawal

> Low-level instruction to cancel a queued withdrawal and return LP tokens

# createCancelWithdrawalInstruction

Builds a raw instruction to cancel a previously queued withdrawal. The LP tokens locked in escrow are returned to the owner's token account and the withdrawal account is closed. Called by the withdrawal account owner.

## Usage

```typescript theme={null}
import { createCancelWithdrawalInstruction } from "@exponent-labs/exponent-sdk/client/vaults";
import { PublicKey } from "@solana/web3.js";

const ix = createCancelWithdrawalInstruction({
  owner: wallet.publicKey,
  vault: vaultAddress,
  withdrawalAccount: withdrawalAccountAddress,
  tokenLpEscrow: vaultLpEscrowAccount,
  tokenLpDst: ownerLpTokenAccount,
  tokenProgram: TOKEN_PROGRAM_ID,
});
```

## Accounts

| Name                | Signer | Writable | Description                              |
| ------------------- | ------ | -------- | ---------------------------------------- |
| `owner`             | Yes    | Yes      | The withdrawal account owner             |
| `vault`             | No     | No       | The Strategy Vault account               |
| `withdrawalAccount` | No     | Yes      | The withdrawal request account to cancel |
| `tokenLpEscrow`     | No     | Yes      | Vault's LP token escrow account          |
| `tokenLpDst`        | No     | Yes      | Owner's destination LP token account     |
| `tokenProgram`      | No     | No       | SPL Token program                        |

## Returns

`TransactionInstruction` — a transaction instruction ready to be added to a transaction.
