Skip to main content
These endpoints are backed by the Ponder indexer, which reconstructs protocol state from on-chain events into Postgres. They return in milliseconds and scale to many concurrent readers — unlike the live eth_getLogs reads behind the /api/v1/public/* endpoints.
On Base mainnet, production volumes are near zero — these endpoints report the real indexed values (often 0), never placeholder numbers.

Base URL

All endpoints below are public (no API key) and IP-rate-limited.

Aggregate stats

GET /api/v1/stats/burns

Burn dashboard: total LUMINA burned, premium USDC volume, last-30-day burn, count, and a per-day series.

GET /api/v1/stats/protocol

Protocol-wide snapshot.
lumina_circulating is derived as total supply (100M) − total burned.

GET /api/v1/stats/activity

Unified reverse-chronological feed (max 100) across policy purchases, bond mints/redemptions, marketplace buys, and burns.
typepolicy_purchased | bond_minted | bond_redeemed | marketplace_buy | lumina_burned.

GET /api/v1/stats/lumina-price-history?range=24h

Effective LUMINA/USDC price points from each BurnExecuted. range24h | 7d | 30d | all.

Per-wallet (indexed)

EndpointReturns
GET /api/v1/policies/by-buyer/:addressPolicies for a buyer (paginated limit/offset).
GET /api/v1/bonds/by-owner/:addressNet bond holdings per epoch (issued − redeemed > 0).
GET /api/v1/triggers/recent?limit=50Recent trigger submissions.
GET /api/v1/marketplace/active-listingsActive marketplace listings.
GET /api/v1/marketplace/recent-salesFilled listings.
GET /api/v1/burns/recent?source=TWAPBurnerRecent burn events.
The legacy on-chain /api/v1/public/policies/:wallet and /api/v1/public/bonds/:wallet endpoints remain available and return the same data via a live on-chain scan — use them as a fallback if /indexer/health reports the indexer is syncing or lagging.

Indexer health

GET /api/v1/indexer/health

statussynced | lagging | syncing. Returns 503 if the indexer/DB is not provisioned.