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

# Queued Redeem

> Request a larger redemption, track fulfillment, then claim USDC.

Queued redeem is the standard flow when the user exits above available instant liquidity or wants a min-assets-out floor.

## Request

```ts theme={null}
const quote = await shlp.quoteRedeemAsyncAction({
  shares: sharesRaw,
  account: userAddress,
  slippageBps: 50,
});

await shlp.sendApiTransaction(quote.tx, userAddress);
```

## Track lifecycle

Poll:

```ts theme={null}
const redeems = await shlp.getRedeems(userAddress);
```

Lifecycle:

<Steps>
  <Step title="Requested">
    User signs `requestRedeem`. Shares are escrowed.
  </Step>

  <Step title="Pending">
    Request can still be cancelled.
  </Step>

  <Step title="Fulfilled">
    Keeper or fulfiller makes the request claimable after liquidity returns.
  </Step>

  <Step title="Claimed">
    User claims USDC on HyperEVM.
  </Step>
</Steps>

## Claim

```ts theme={null}
const claim = await shlp.buildClaimRedeemAction({
  id: redeemId,
  account: userAddress,
  receiver: userAddress,
});

await shlp.sendApiTransaction(claim.tx, userAddress);
```

## Cancel

```ts theme={null}
const cancel = await shlp.buildCancelRedeemAction({
  id: redeemId,
  account: userAddress,
});

await shlp.sendApiTransaction(cancel.tx, userAddress);
```

## User copy

Use plain wording:

* "Your sHLP is locked in a redemption request."
* "You can cancel while the request is pending."
* "When liquidity returns, this request becomes claimable."
* "Claim settles USDC on HyperEVM."
