{
  "api": "mainnet-reference-api",
  "version": "v1",
  "schema_version": "1.0.0",
  "status": "stable-static",
  "dataset": "index",
  "updated": "July 4, 2026",
  "sourceSnapshotAt": "July 4, 2026",
  "mode": "static-source-cited",
  "notes": [
    "Main.net API v1 is a static, source-linked reference API for reviewed chain IDs, RPC URLs, explorers, wallet config JSON, and automated source snapshot provenance.",
    "The API does not publish live uptime, latency, block lag, price, TVL, or investment advice.",
    "Public RPC endpoints are setup references and should be verified against linked sources before production use.",
    "Deprecated lastVerified, verifiedAt*, updated, reviewCadence, and needsReviewAfter fields are compatibility aliases for automated source snapshots; they do not prove manual field review.",
    "Use chain urls.canonical, urls.rpcSection, and urls.chainIdSection for stable page links; urls.legacyRedirects preserves old helper URLs as redirects."
  ],
  "freshnessSemantics": {
    "sourceSnapshot": "sourceSnapshot* fields describe automated source-monitoring evidence and do not prove manual review of every field.",
    "legacyAliases": {
      "verifiedAt": "sourceSnapshotAt",
      "verifiedAtIso": "sourceSnapshotAtIso",
      "verifiedByTool": "sourceSnapshotByTool",
      "verificationRunId": "sourceSnapshotRunId",
      "lastVerified": "sourceSnapshotAt",
      "updated": "sourceSnapshotAt",
      "reviewCadence": "legacy automated source-snapshot schedule",
      "needsReviewAfter": "legacy automated source-snapshot schedule"
    },
    "deprecation": "Legacy lastVerified, verifiedAt*, updated, reviewCadence, and needsReviewAfter fields remain compatibility aliases and are not proof of manual field review."
  },
  "endpoints": [
    {
      "path": "/api/v1/chains.json",
      "dataset": "chains",
      "count": 68,
      "description": "Reviewed chain metadata, decimal and hex chain IDs, copy-ready config JSON, canonical status URLs, legacy helper redirects, RPC URLs, explorers, source snapshot provenance, safety notes, and chain ID probe evidence."
    },
    {
      "path": "/api/v1/chains.csv",
      "dataset": "chains-csv",
      "format": "csv",
      "count": 68,
      "description": "CSV snapshot of reviewed chain metadata for spreadsheets and lightweight scripts."
    },
    {
      "path": "/api/v1/launches.json",
      "dataset": "launches",
      "count": 2,
      "description": "Reviewed launch records with primary source links and no stage labels."
    },
    {
      "path": "/api/v1/categories.json",
      "dataset": "network-categories",
      "count": 10,
      "description": "Network category records and the chain IDs grouped under each category."
    },
    {
      "path": "/api/v1/glossary.json",
      "dataset": "glossary",
      "count": 9,
      "description": "Short mainnet, RPC endpoint, and chain ID definitions with related guide URLs."
    },
    {
      "path": "/api/v1/gas-tokens.json",
      "dataset": "gas-tokens",
      "count": 45,
      "description": "Gas token groups derived from reviewed chain metadata."
    },
    {
      "path": "/api/v1/explorers.json",
      "dataset": "explorers",
      "count": 68,
      "description": "Block explorer hostnames and chain contexts from reviewed chain metadata."
    },
    {
      "path": "/api/v1/search-index.json",
      "dataset": "search-index",
      "count": 434,
      "description": "Static discovery index for chain, RPC, guide, launch, glossary, explorer, and gas-token pages."
    },
    {
      "path": "/api/v1/review-queue.json",
      "dataset": "review-queue",
      "count": 68,
      "description": "Operator-facing queue derived from source changes, fetch failures, and chain ID probe failures."
    },
    {
      "path": "/api/v1/sources.json",
      "dataset": "sources",
      "count": 124,
      "description": "Deduplicated public source registry with chain and launch page contexts."
    },
    {
      "path": "/api/v1/source-hashes.json",
      "dataset": "source-hashes",
      "count": 124,
      "description": "Source URL hash snapshot for deterministic change detection."
    },
    {
      "path": "/api/v1/source-changes.json",
      "dataset": "source-changes",
      "count": 12,
      "description": "Source URL changes compared with the previous hash snapshot."
    },
    {
      "path": "/api/v1/rpc-probes.json",
      "dataset": "rpc-probes",
      "count": 67,
      "description": "eth_chainId probe snapshot for EVM-style public RPC endpoints."
    },
    {
      "path": "/api/v1/ai-source-extractions.json",
      "dataset": "ai-source-extractions",
      "count": 8,
      "description": "Review-only AI source extraction report for changed source URLs. It does not edit reviewed chain metadata."
    },
    {
      "path": "/api/v1/ai-candidate-drafts.json",
      "dataset": "ai-candidate-drafts",
      "count": 5,
      "description": "Review-only AI candidate draft report. It does not publish candidate chains."
    },
    {
      "path": "/api/v1/upstream-reconciliation.json",
      "dataset": "upstream-reconciliation",
      "count": 68,
      "description": "Internal upstream registry comparison report. Differences are factual observations, not judgments about source quality."
    },
    {
      "path": "/api/v1/openapi.json",
      "dataset": "openapi",
      "count": 1,
      "description": "OpenAPI 3.1 description for the stable static API surface."
    }
  ],
  "capabilities": {
    "mcpServer": "Available as an optional read-only stdio server over this versioned API.",
    "rpcIdentityProbe": "Published as operator-generated eth_chainId evidence, not RPC health or uptime data."
  },
  "publicationRequirements": {
    "hostedMcpServer": "Hosted MCP requires documented rate limits and abuse controls.",
    "rpcProbeHistory": "Uptime, latency, regional reliability, or health metrics require documented probe history and methodology."
  }
}