{
 "name": "The Floor · companion API",
 "description": "Read-only game-semantic data for $FLOOR on Robinhood Chain (desks, alpha, operators, firms, emissions). Unofficial fan-built companion.",
 "chain": {
  "name": "Robinhood Chain",
  "chainId": 4663,
  "rpc": "https://rpc.mainnet.chain.robinhood.com"
 },
 "contracts": {
  "floorToken": "0x0000000000000000000000000000000000000000",
  "game": "0x89d40f5e4d260577691d05e681d47519eb44f113",
  "firm": "0x26c615b58cf162a00ed5ae009e16ed8ab4265b36",
  "pool": "0x73ed66f4e5e7e59e279cab050074bfeaec5c55a2"
 },
 "conventions": {
  "amounts": "All FLOOR amounts are human units (already divided by 1e18) unless a field says _raw.",
  "addresses": "Lowercase hex. Compare case-insensitively.",
  "freshness": "Every cached endpoint returns ageMs = milliseconds since that data was last refreshed.",
  "unknowns": "null means UNKNOWN, never zero. Check `partial` and `unknownFields` before trusting a number."
 },
 "mcp": {
  "endpoint": "/mcp",
  "transport": "streamable-http",
  "note": "Add this URL as an MCP server to query the floor from an agent."
 },
 "endpoints": [
  {
   "path": "/api/summary",
   "desc": "One call: price, supply, burned, emissions, players, behavior split, freshness. Start here."
  },
  {
   "path": "/api/token-stats",
   "desc": "Token + game economy: price, supply, burned, emission rate, global alpha, halving."
  },
  {
   "path": "/api/player?addr=0x…",
   "desc": "One wallet: desk tier, alpha, share, pending PnL, balance, seated roster."
  },
  {
   "path": "/api/leaderboard",
   "desc": "Wallets ranked by alpha, plus top recruiters."
  },
  {
   "path": "/api/behavior",
   "desc": "Desk owners vs traders: reinvested / sold / bought, with router flow and liquidity separated out."
  },
  {
   "path": "/api/distribution",
   "desc": "Desk-tier spread and alpha concentration."
  },
  {
   "path": "/api/holders",
   "desc": "Top FLOOR holders."
  },
  {
   "path": "/api/firms",
   "desc": "Firms, members, and free agents."
  },
  {
   "path": "/api/firm-competition",
   "desc": "Weekly firm PnL competition mirrored from the official game: standings ranked by PnL, prize pool, and projected 65/25/10 payouts. PnL is indexed off-chain, not on-chain-verifiable."
  },
  {
   "path": "/api/scouting",
   "desc": "Free agents (desk owners not in a firm) with recruiting signals: alpha, FLOOR accumulation, reinvest rate. A free on-chain firepower proxy, not the competition PnL."
  },
  {
   "path": "/api/live-actions",
   "desc": "Recent on-chain game actions (collect/claim/seat/recruit/upgrade/newdesk/referral/firmburn)."
  },
  {
   "path": "/api/history",
   "desc": "Daily snapshots for trends. Rows before tracking began are reconstructed and marked seeded:true."
  },
  {
   "path": "/api/brokers",
   "desc": "StonkBrokers (same chain, different game): mint/holders, activation tiers, dividend rounds, $STONKBROKER burns + price."
  },
  {
   "path": "/api/broker?id=1-4444",
   "desc": "One StonkBroker: owner, ERC-6551 wallet holdings, dividends received, activation tier, Floor-desk status, on-chain art."
  },
  {
   "path": "/api/broker-leaderboard",
   "desc": "Activated brokers ranked by current wallet contents (a removable snapshot — only activation tier + any Floor desk are bound to the NFT). Not an appraisal."
  }
 ]
}