Skip to main content
SANDBOX environment — testnet only. The /sandbox/* endpoints execute against Base Sepolia (chainId 84532) with a mock USDC. Production Lumina runs on Base mainnet (chainId 8453) since 2026-05-28. For real policy purchases on mainnet, see contracts/deployed.
The sandbox lets you call POST /sandbox/try with no API key and watch a real on-chain policy purchase execute against a shared, server-funded wallet. It’s the fastest way to see Lumina end-to-end before you generate keys.

Status

curl https://lumina-api-production-ac85.up.railway.app/sandbox/info
Response:
{
  "ok": true,
  "enabled": true,
  "sandboxWallet": "0x…",
  "coverageCapUsdc": "100000000",
  "asset": { "symbol": "BTC", "bytes32": "0x4254430000…" },
  "defaultProductId": "0xe87625…",
  "defaultProductName": "FLASHBTC1H-001",
  "rateLimit": { "perIp": 10, "windowSeconds": 3600 },
  "docs": "https://docs.lumina-org.com/agents/products-and-assets"
}
The asset field is resolved per-shield from defaultProductName. For the six V5.3 flash shields it’s either BTC (FlashBTC × 3) or ETH (FlashETH × 3) — see Products and assets for the full registry. The V5.1 stablecoin products (MICRODEPEG-001 USDT, RATESHOCK-001 USDC) were retired or paused in Sprint T-30c and no longer appear as defaultProductName candidates. When enabled: false, the sandbox is disabled in the current deployment (usually because SANDBOX_WALLET is not set on the API server).

Try it

curl -X POST https://lumina-api-production-ac85.up.railway.app/sandbox/try \
  -H "Content-Type: application/json" \
  -d '{}'
Response (truncated):
{
  "ok": true,
  "sandbox": true,
  "policyId": "42",
  "buyer": "0x…",
  "coverageAmount": "100000000",
  "premiumPaid": "1234",
  "txHash": "0x…",
  "blockExplorer": "https://sepolia.basescan.org/tx/0x…"
}

Limitations

  • Cap: every purchase is exactly coverageCapUsdc (default $100, the on-chain minimum enforced by CoverRouterV2).
  • Throughput: 10 calls per IP per hour.
  • Wallet: the sandbox wallet is shared — bonds minted by sandbox triggers are NOT yours. They live in the shared wallet for demo purposes.
  • Network: Base Sepolia testnet (chainId 84532) only.

Next step

Once you’ve watched a sandbox purchase succeed, generate your own API key (self-service) and call POST /api/v1/policies directly.