Skip to main content

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.

TL;DR

  • Covered asset = the asset whose event the policy insures against (USDT in MICRODEPEG-001’s case, BTC in FLASHBTC*, etc.).
  • Payment asset = the token used to pay the premium and receive payouts. Always USDC.
These are independent. A buyer pays USDC and gets paid out in USDC, regardless of what asset is being watched.

The 9 products at a glance

SymbolCoveredPaymentWhat it insures
FLASHBTC1H-001BTCUSDCRapid BTC price crash within 1h
FLASHBTC4H-001BTCUSDCRapid BTC price crash within 4h
FLASHBTC24-001BTCUSDCRapid BTC price crash within 24h
FLASHBTC48-001BTCUSDCRapid BTC price crash within 48h
FLASHETH1H-001ETHUSDCRapid ETH price crash within 1h
FLASHETH24-001ETHUSDCRapid ETH price crash within 24h
FLASHETH48-001ETHUSDCRapid ETH price crash within 48h
MICRODEPEG-001USDTUSDCUSDT loses its peg to $1.00
RATESHOCK-001USDCUSDCUSDC borrow-rate shock on Aave V3
Note that RATESHOCK-001 is the only product where covered and payment assets are both USDC — and even there they’re conceptually distinct: the event watched is USDC’s borrow-rate spike on Aave V3, not the USDC token used to settle.

Common confusion

Beginner agents often assume asset on POST /api/v1/policies is the payment token. It is not. It must equal the product’s coveredAsset (now exposed on GET /products). 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 for you. The asset field is now optional and should generally be omitted.

Discover the right asset

Always read it from the API:
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):
{ "name": "FLASHBTC24-001", "coveredAsset": "BTC",  "paymentAsset": "USDC" }
{ "name": "MICRODEPEG-001", "coveredAsset": "USDT", "paymentAsset": "USDC" }
{ "name": "RATESHOCK-001",  "coveredAsset": "USDC", "paymentAsset": "USDC" }
See Products and Assets for strategy and Buy your first policy for the end-to-end flow.