/stateReturns a combined snapshot with all available data: treasury balance, active round details, current prices (ORE/USD and SOL/USD), and last round result. This is the main endpoint used by the frontend dashboard.
Example Request
curl https://ore-api.gmore.fun/state
Response Structure
{
"treasury": { "motherlodeFormatted": "1.000000000 ORE", ... },
"round": {
"roundId": "123",
"mining": { "status": "active", "startSlot": "250000000", ... },
"totals": { "deployedSol": "1.000000000", ... },
"perSquare": { "counts": ["10", "5", ...], "deployedSol": ["0.1", ...] }
},
"currentSlot": "250000500",
"orePrice": { "priceUsdRaw": "0.123", ... },
"solPrice": { "priceUsdRaw": "150.50", ... },
"roundResult": { "roundId": "123", "winningSquareLabel": "#5", ... }
}Status Codes
200Success. Returns complete state snapshot.503Service unavailable. Returned when both treasury and round snapshots are unavailable.
Field Descriptions
| Field | Type | Required | Description |
|---|---|---|---|
| treasury.motherlodeFormatted | string | required | Accumulated jackpot amount in formatted ORE. The motherlode value comes from the Treasury PDA's serialized state. Source: on-chain (ore::Treasury account) |
| round.roundId | string | required | Sequential identifier taken directly from the ORE round PDA. Each increment represents a complete mining round on-chain. Source: on-chain (ore::Round account) |
| round.mining.status | string | optional | Round status: 'idle' (before start), 'active' (during mining), 'finished' (after end slot), or 'expired' (results available or finished 10+ slots ago). Derived from board PDA and current Solana slot. |
| round.perSquare.counts | string[] | required | Array of 25 elements, each representing the number of unique miners who placed bids on that tile. Counts come from round.count[i]. |
| round.perSquare.deployedSol | string[] | required | Array of 25 elements, each representing total SOL deployed on that tile. SOL amounts from round.deployed[i]. Sum of lamports converted using 1 SOL = 1e9 lamports. |
| round.totals.deployedSol | string | required | Sum of lamports deployed across all 25 tiles in the active round. Converted from round.total_deployed. |
| currentSlot | string | null | optional | Current Solana slot number. Used for countdown calculations and round status determination. Source: Solana RPC getSlot() |
| orePrice | TokenPriceSnapshot | null | optional | Current ORE token price in USD. Fetched from Jupiter's lite price API. Updated periodically. |
| solPrice | TokenPriceSnapshot | null | optional | Current SOL token price in USD. Fetched from Jupiter's lite price API. Updated periodically. |
| roundResult | RoundResultSnapshot | null | optional | Result snapshot for the most recently completed round. Includes winning square, rewards, and totals. Only available after a round has finished and results are computed. |
Note
All fields may be null when data is unavailable. The treasury, round, orePrice, solPrice, and roundResult fields are nullable. Prices and currentSlot are stored at the root level (not duplicated in round object) for efficiency. Supports conditional requests via ETag headers; clients should send If-None-Match to receive 304 when the snapshot is unchanged.