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

# Covered, Payment, and Payout Assets

> What you pay in, what triggers the policy, and what you get paid in.

## TL;DR

Lumina has **three** assets per policy. They are independent.

| Asset role        | Token in V5.4      | Source                                        |
| ----------------- | ------------------ | --------------------------------------------- |
| **Covered asset** | **BTC** or **ETH** | Chainlink BTC/USD or ETH/USD on Base mainnet  |
| **Payment asset** | **USDC**           | Buyer pays the premium in USDC (always)       |
| **Payout asset**  | **LUMINA**         | BondVault mints LUMINA on `redeem()` (always) |

A buyer **pays USDC**, the protocol watches **BTC or ETH** for the trigger
condition, and a successful claim is **redeemed in LUMINA** at maturity
(or sold for **USDC** on the marketplace before maturity).

## Cover sizing — $1,000 nominal → $800 bond face

Cover is quoted in USD notional. The bond face value is **80% of cover**
(20% deductible):

| Cover    | Bond face value | Bond tokens minted          |
| -------- | --------------- | --------------------------- |
| \$500    | \$400           | 400 tokens (\$1 face/token) |
| \$1,000  | \$800           | 800 tokens                  |
| \$10,000 | \$8,000         | 8,000 tokens                |

At maturity, BondVault converts the bond's USD face to LUMINA at the
protocol's reference LUMINA/USD price.

## The 6 V5.4 products

| Symbol           | Covered | Payment | Payout (at maturity) | What it insures                                |
| ---------------- | ------- | ------- | -------------------- | ---------------------------------------------- |
| `FLASHBTC1H-001` | BTC     | USDC    | LUMINA               | BTC drops ≥ 2.5% from purchase price within 1h |
| `FLASHBTC24-001` | BTC     | USDC    | LUMINA               | BTC drops ≥ 6% within 24h                      |
| `FLASHBTC48-001` | BTC     | USDC    | LUMINA               | BTC drops ≥ 10% within 48h                     |
| `FLASHETH1H-001` | ETH     | USDC    | LUMINA               | ETH drops ≥ 4% from purchase price within 1h   |
| `FLASHETH24-001` | ETH     | USDC    | LUMINA               | ETH drops ≥ 8.5% within 24h                    |
| `FLASHETH48-001` | ETH     | USDC    | LUMINA               | ETH drops ≥ 14% within 48h                     |

## Common confusion

Beginner agents often assume the `asset` parameter on `POST /api/v1/policies`
is the **payment** token. It is not — it must equal the product's
**`coveredAsset`** (BTC or ETH). Sending the wrong value reverts with
`InvalidAsset(bytes32)` (selector `0x8196d462`).

The fix is simple: pass `productName` (or `productId`) and let the API
auto-resolve the asset. The `asset` field is now optional and should
generally be omitted.

## Discover the right asset

Always read it from the API:

```bash theme={null}
curl -H "x-api-key: $LUMINA_API_KEY" \
  https://lumina-api-production-ac85.up.railway.app/api/v1/products \
  | jq '.products[] | {name, coveredAsset, paymentAsset}'
```

Sample response (excerpt):

```json theme={null}
{ "name": "FLASHBTC1H-001",  "coveredAsset": "BTC", "paymentAsset": "USDC" }
{ "name": "FLASHETH48-001",  "coveredAsset": "ETH", "paymentAsset": "USDC" }
```

See [Products and Assets](/agents/products-and-assets) for strategy and
[Buy your first policy](/agents/first-policy) for the end-to-end flow.
