> ## 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.

# Fill Withdrawal

> Low-level instruction to fill a depositor's queued withdrawal with underlying tokens

# createFillWithdrawalInstruction

Builds a raw instruction to fill a depositor's queued withdrawal with underlying tokens. The vault manager calls this to service pending withdrawal requests by specifying the token mint and amount to allocate. Once filled, the depositor can execute the withdrawal to receive their tokens.

## Usage

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

const ix = createFillWithdrawalInstruction(
  {
    manager: wallet.publicKey,
    vault: vaultAddress,
    exponentPrices: exponentPricesPda,
    withdrawalAccount: withdrawalAccountAddress,
    mintLp: lpMintAddress,
  },
  {
    mint: usdcMintAddress,
    amount: BigInt(1_000_000),
  }
);
```

## Accounts

| Name                | Signer | Writable | Description                                        |
| ------------------- | ------ | -------- | -------------------------------------------------- |
| `manager`           | Yes    | No       | The vault manager authority                        |
| `vault`             | No     | Yes      | The Strategy Vault account                         |
| `exponentPrices`    | No     | No       | Global ExponentPrices account for AUM calculations |
| `withdrawalAccount` | No     | Yes      | The depositor's withdrawal request account to fill |
| `mintLp`            | No     | Yes      | The vault's LP token mint                          |

## Args

| Name     | Type                | Description                                   |
| -------- | ------------------- | --------------------------------------------- |
| `mint`   | `PublicKey \| null` | Token mint to fill with, or null for SOL      |
| `amount` | `bigint`            | Amount of tokens to fill (u64, in base units) |

## Returns

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