---
title: quoteRedeemAtFloor
description: Quote net USDC out for redeeming AVM at the current floor price.
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

Burns `amount` AVM at `floorPriceWad` (not along the curve). Spot does not move. Gross payout is [floorValueDown](/developers/math/floor-value-down); the 1.25% redeem fee is then taken.

Use this when the holder wants the floor, not the live curve. When spot is above floor, [quoteSellExactAvmIn](/developers/math/quote-sell-exact-avm-in) usually pays more.

## Import

```ts
import { quoteRedeemAtFloor } from "@repo/contract-client/math";
```

## Usage

```ts
import { parseAvm } from "@repo/contract-client";
import { quoteRedeemAtFloor } from "@repo/contract-client/math";

const quote = quoteRedeemAtFloor(snapshot, parseAvm("1000"));

quote.grossReserveOutRaw;
quote.netReserveOutRaw;
quote.priceImpact.curvePriceImpactWad; // 0 — no curve walk
quote.nextEngine; // unchanged
```

## Return Value

`RedeemAtFloorQuote`

| Field                | Meaning                                   |
| -------------------- | ----------------------------------------- |
| `kind`               | `'redeemAtFloor'`                         |
| `avmIn`              | Tokens burned                             |
| `grossReserveOutRaw` | `floor × amount`, rounded down            |
| `netReserveOutRaw`   | After 1.25%                               |
| `priceImpact`        | Curve impact forced to 0; spot delta is 0 |
| `nextEngine`         | Same as input                             |

## Parameters

### snapshot

- **Type:** `MarketSnapshot`

Provides `floorPriceWad` and `actualSupply`.

```ts
quoteRedeemAtFloor(snapshot, parseAvm("1000"));
```

### amount

- **Type:** `AvmAtoms`

Must be `> 0` and ≤ `actualSupply`. Gross floor value must be ≥ `100` raw.

```ts
quoteRedeemAtFloor(snapshot, asAvmAtoms(10n ** 18n));
```

## Error

| Error                                | When                          |
| ------------------------------------ | ----------------------------- |
| `ProtocolRevertError` `ZeroAmount`   | Amount is 0 or exceeds supply |
| `ProtocolRevertError` `BelowMinimum` | Floor value `< 100` raw       |

## Tips

- `sv3.quote.quoteExitOptions({ market, avmIn })` returns both the curve sell and this redeem, plus `economicallyFavored`.
