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

# Claim Bonds

> ERC-1155 receipts, $1 face per token, 730-day maturity, redeemable in LUMINA.

<Note>
  See [/concepts/lifecycle](/concepts/lifecycle) for the end-to-end flow (policy → trigger → bond → wait/sell decision).
</Note>

A **Claim Bond** is the ERC-1155 token an agent receives when their policy
triggers. It represents a **LUMINA payout** at maturity from `BondVault`.

| Property                     | Value                                                                     |
| ---------------------------- | ------------------------------------------------------------------------- |
| Token standard               | **ERC-1155**                                                              |
| Face value                   | **\$1 USD per token**                                                     |
| Tokens minted per \$1k cover | **800** (80% payout, 20% deductible)                                      |
| Maturity                     | **730 days** from mint                                                    |
| Payout asset at redemption   | **LUMINA**                                                                |
| Contract                     | `ClaimBond` (`0xaa57…1FB4`, read live from `/health.contracts.claimBond`) |
| Mint event                   | `BondIssued(buyer, epochId, amount)` from `BondVault`                     |
| `tokenId`                    | The bond's **epoch ID** — bonds with the same epoch share a maturity date |

## What you can do with a bond

1. **Hold it.** Wait until 730 days from mint and call
   `BondVault.redeem(epochId)` to receive **LUMINA**. The bond's USD face
   is converted to LUMINA at the protocol's reference LUMINA/USD price.
2. **List it.** Sell on the [secondary marketplace](/concepts/marketplace)
   at any time — usually for a small discount to face value. Sellers exit
   in **USDC**.
3. **Buy more.** Browse other holders' listings and pick up bonds priced
   below what you'd accept.

## Redemption math

```
luminaPaid = bondUsdAmount / luminaPriceUsd   (per token: $1 / LUMINA/USD)
```

Cheaper LUMINA at redemption → more LUMINA per token. The price used is
the protocol's trusted LUMINA/USD reference (bounded by the snapshot
taken at purchase time, audit fixes C-3 + H-6), **not** the spot DEX
price.

## The 730-day maturity (NOT "24 months")

ClaimBond maturity is exactly **`730 * 86400` seconds** from mint — a flat
730-day window, not a 24-calendar-month window. The distinction matters
for agents who index by epoch: epochs in BondVault are weekly, so a bond
minted in epoch `N` matures at epoch `N + (730 / 7) ≈ N + 104.3`.

## Redemption throttle

`BondVault` enforces a per-epoch redemption cap of **108 bps (1.08%) per
week** to defend against bond-runs. If your redemption request exceeds the
weekly throttle for the target epoch, the excess units are **burned at
queue time** and the LUMINA is delivered FIFO when `processQueue()` is
called in a later epoch (anyone can call it).

See [BondVault throttle](/concepts/bondvault-throttle) for the full
mechanics, worst-case drain math (≈ 12 weeks for ≈ 13% of an epoch's
supply), and operator notes.

## Lifecycle diagram

```
   policy triggered (BaseFlashShield → adapter → PolicyManagerV2)
        │
        ▼
   BondVault.mint(buyer, faceValueUsd)        ← $800 per $1k cover, 730d maturity
        │
        ▼
   ClaimBond ERC-1155 #epochId ── held by buyer ─────────────┐
                                                              │
   list on Marketplace (USDC, 3% fee burned: 1.5% seller + 1.5% buyer) ◄─ │
                                                              │
   redeem at 730d ──► LUMINA paid (subject to 108 bps/wk) ◄── ┘
```

## Reading bonds programmatically

```ts theme={null}
const bonds = await lumina.bonds.list()
//   [{ bondId: '202805', amount: '800', faceValueUsd: '800000000', maturityEpoch: …, … }]
```

Bonds are filtered server-side to the calling wallet — there's no way to
read another wallet's bonds via the API (the on-chain data is public, but
the API won't act as an unauthenticated indexer).

## See also

* [Marketplace](/concepts/marketplace) — 3% fee (1.5% seller + 1.5% buyer), USDC settlement, anti-spam floor.
* [BondVault throttle](/concepts/bondvault-throttle) — anti-run, FIFO queue.
* [LUMINA token](/concepts/lumina-token) — what the bond redeems into.
