{
    "status": "ok",
    "updated_at": "2026-09-21T20:38:55+00:00",
    "recommended_chain": "base",
    "game": {
        "name": "Base Future Ledger",
        "chain": "base",
        "network": "Base Mainnet",
        "chain_id": 8453,
        "contract": "0xe5a9cF597ec65523BD71a8433B620eB1F3Eb0d0a",
        "ticket_currency": "USDC",
        "ticket_price": 1,
        "ticket_price_units": "1000000",
        "payment_token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "payment_token_decimals": 6,
        "gas_currency": "ETH",
        "gas_currency_note": "Base ETH is required only for network gas. The lottery ticket itself is paid in USDC.",
        "numbers": {
            "count": 6,
            "minimum": 1,
            "maximum": 49,
            "unique": true
        },
        "next_draw_timestamp": 1790438400,
        "next_draw_utc": "2026-09-26T16:00:00+00:00",
        "jackpot": 0,
        "onchain_jackpot": 0,
        "jackpot_units": "0",
        "jackpot_currency": "USDC",
        "minimum_winner_payout": 100,
        "winner_payout": 100,
        "winner_payout_policy": {
            "currency": "USDC",
            "minimum": 100,
            "higher_live_jackpot_applies": true,
            "summary": "A winning Base ticket receives at least 100 USDC. If the current jackpot is higher, the higher amount applies."
        },
        "live_contract_reads_available": true
    },
    "workflow": [
        {
            "step": 1,
            "action": "read_live_state",
            "method": "GET",
            "url": "https://blocklottos.com/api/lottery/agent-capabilities"
        },
        {
            "step": 2,
            "action": "get_or_create_referral",
            "optional": true,
            "method": "POST",
            "url": "https://blocklottos.com/api/lottery/agent-referral"
        },
        {
            "step": 3,
            "action": "prepare_one_ticket",
            "method": "POST",
            "url": "https://blocklottos.com/api/lottery/agent-purchase"
        },
        {
            "step": 4,
            "action": "sign_and_broadcast",
            "rpc_method": "eth_sendTransaction",
            "wallet": "agent-controlled or explicitly user-approved"
        },
        {
            "step": 5,
            "action": "confirm_on_chain",
            "method": "POST",
            "url": "https://blocklottos.com/api/lottery/confirm-ticket-tx"
        },
        {
            "step": 6,
            "action": "read_tickets",
            "method": "GET",
            "url_template": "https://blocklottos.com/api/lottery/tickets/{wallet}?chain=base"
        },
        {
            "step": 7,
            "action": "read_result",
            "method": "GET",
            "url": "https://blocklottos.com/api/lottery/draw-history?chain=base&limit=1"
        }
    ],
    "referrals": {
        "commission": "5% of referred ticket price from the operations share",
        "create_or_load_endpoint": "https://blocklottos.com/api/lottery/agent-referral",
        "profile_type": "one shared profile for humans, bots, agents, and LLMs",
        "identity_chains": [
            "evm"
        ],
        "ownership_proof": "Request action=challenge and sign the exact message with the EVM identity wallet before first enrollment or management-token recovery.",
        "non_evm_support": "Solana and Cardano are supported as payout wallets after secure EVM enrollment.",
        "payout_wallet_fields": [
            "evm_wallet",
            "solana_wallet",
            "cardano_wallet"
        ],
        "management_auth": "Store the one-time management_token securely and use it only as an Authorization: Bearer token for wallet changes and private monitoring.",
        "public_response": [
            "referral identity",
            "referral link"
        ],
        "private_monitoring": [
            "pending balances",
            "paid balances",
            "payout history",
            "referral counts"
        ],
        "purchase_field": "referral_id",
        "cost_to_join": "0 USDC"
    },
    "bounded_recurring_play": {
        "custody": "Block Lottos never stores private keys and never signs transactions.",
        "one_ticket_per_purchase_call": true,
        "multiple_purchase_calls_allowed": true,
        "owner_defined_limits": true,
        "server_max_tickets_per_draw": null,
        "fresh_price_cap_field": "max_price_usdc",
        "correlation_field": "idempotency_key",
        "correlation_warning": "The idempotency key does not prevent duplicate wallet broadcasts; submit each returned transaction at most once.",
        "expiry_field": "valid_until",
        "expiry_scope": "Checked during preparation; the wallet must recheck immediately before broadcast because the contract transaction has no deadline parameter.",
        "explanation": "One ticket per call prevents an accidental batch purchase. It is not a one-ticket-per-agent restriction: agents may make additional one-ticket purchase calls.",
        "stop_conditions": [
            "price_limit_exceeded",
            "purchase_intent_expired",
            "insufficient USDC",
            "failed receipt",
            "unknown receipt"
        ]
    },
    "safety": [
        "Only participate when the wallet owner meets the legal-age requirement and lottery participation is permitted in their jurisdiction.",
        "Never send a private key or seed phrase to Block Lottos.",
        "The API returns unsigned transactions; the wallet signs and broadcasts them.",
        "Use exact one-ticket USDC approval only, never unlimited approval.",
        "Verify the confirmed receipt and TicketPurchased event before reporting success.",
        "Do not chase losses or exceed the wallet owner\u2019s limits."
    ],
    "openapi": "https://blocklottos.com/openapi.json",
    "documentation": "https://blocklottos.com/api-docs"
}