---
title: requiredBacking
description: Minimum gross USDC the market must hold to stay solvent at this snapshot.
---

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

`floorLiability(actualSupply) + (certified curve area − floor value of curve supply)`.

Gross backing is liquid reserve plus outstanding advances. Solvency is `gross backing ≥ requiredBacking`. This function is the right-hand side.

## Import

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

## Usage

```ts
const required = requiredBacking(snapshot);
snapshot.requiredBackingRaw; // same value on a consistent snapshot
```

## Return Value

`UsdcRaw` — 6-decimal USDC.

## Parameters

### snapshot

- **Type:** `MarketSnapshot`

Needs `engine`, `actualSupply`, `curveSupply`, `floorPriceWad`.

```ts
requiredBacking(snapshot);
```

## Error

`InvalidAmountError` if certified area is below the curve's floor value (illegal engine).

## Tips

- Area is taken **up**, floor value of curve supply **down**, floor liability of actual supply **up**. That is the conservative triple.
