API
Public endpoints. Base URL is the deployment's API host. SIWE marks endpoints requiring a Sign-In With Ethereum signature.
Draws
GET /gacha/box prize table, per-tier availability, buyback rate
GET /gacha/state/{address} credit, items owed, sequence tip
GET /gacha/history/{address} settled draws
GET /gacha/verify/{spinId} seeds, count, roll and chain proof for one draw
GET /gacha/recipe the verification snippet
POST /gacha/prepare open a sequence — SIWE
/gacha/box does not return the bankroll. Per-tier availability is the only derived value exposed.
Markets
GET /perp/book/{market} resting orders
GET /perp/orders/{trader} resting orders for an address
POST /perp/order submit a signed order — SIWE
POST /perp/cancel cancel an own order — SIWE
GET /price/{symbol} current index
Catalogue
GET /catalog listed items only; drafts are never exposed
POST /buy/voucher request a signed mint voucher — SIWE
GET /metadata/{id} token metadata, including the 3D model
Draw seeds, commitments, rolls and prizes are all in contract events, and the roll is recomputable from them with SHA-256 alone, so verification does not depend on this API. See Provable fairness.