TL;DR
Lumina has three assets per policy. They are independent.
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 — 800 bond face
Cover is quoted in USD notional. The bond face value is 80% of cover (20% deductible):
At maturity, BondVault converts the bond’s USD face to LUMINA at the
protocol’s reference LUMINA/USD price.
The 6 V5.4 products
Common confusion
Beginner agents often assume theasset 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.