{
  "schema": "csoai.population-door/0.1",
  "kind": "preview",
  "id": "ots-proofs",
  "title": "OpenTimestamps proof manifest",
  "population": "one row per published .ots proof of an estate artifact, with the state its bytes were read into (Bitcoin-attested, calendar-pending, subject absent) on the manifest's last rebuild",
  "state": "MEASURED",
  "n": 603,
  "n_unit": "published .ots proofs that parse as proofs",
  "as_of": "2026-09-23T05:26:34Z",
  "source": [
    "/interop/ots/manifest.json"
  ],
  "reason": null,
  "unmeasured": [],
  "head": {
    "schema": "csoai.ots-manifest/0.4",
    "by_state_from_rows": {
      "BITCOIN": 602,
      "PENDING": 1
    },
    "subject_absent_from_rows": 47,
    "declared_counts": {
      "proofs": 603,
      "bitcoin_attested": 602,
      "calendar_pending": 1,
      "quarantined_not_proofs": 0,
      "subject_absent": 47
    },
    "bitcoin_attested_means": "The proof bytes carry a BitcoinBlockHeaderAttestation, parsed by python-opentimestamps. This producer does not check the block header against a Bitcoin node; `ots verify` with a node does that.",
    "pending_is_not_anchored": "A calendar-pending proof is a submitted request, not evidence of a time. Only a Bitcoin attestation is that.",
    "subject_absent_means": "The proof commits to a digest, but the file it is named for is not served beside it. A reader cannot check what was stamped; it is an anchor without a subject.",
    "how_this_was_built": "Generated by reading every .ots file in dirs_scanned and keeping only those that deserialize as an OpenTimestamps detached proof. Never from a list of files we intended to stamp, and never copied from a staged manifest.",
    "identification": "a row is a .ots file under the scanned dirs that parsed as an OpenTimestamps proof; its state is read from its bytes (Bitcoin attestation present or only calendar-pending). A pending proof is not anchored."
  },
  "manifest": "https://csoai-org.pages.dev/api/pop/ots-proofs/manifest",
  "buy": {
    "resource": "https://csoai-org.pages.dev/api/pop/ots-proofs",
    "how": "GET the resource → 402 → pay accepts[] (x402) → retry with X-PAYMENT",
    "catalog": "https://csoai-org.pages.dev/api/x402",
    "all_doors": [
      "https://csoai-org.pages.dev/api/pop/stablecoins",
      "https://csoai-org.pages.dev/api/pop/swift",
      "https://csoai-org.pages.dev/api/pop/xrpl",
      "https://csoai-org.pages.dev/api/pop/x402-bazaar",
      "https://csoai-org.pages.dev/api/pop/mcp-registry",
      "https://csoai-org.pages.dev/api/pop/a2a",
      "https://csoai-org.pages.dev/api/pop/ots-proofs",
      "https://csoai-org.pages.dev/api/pop/layer0",
      "https://csoai-org.pages.dev/api/pop/corrections",
      "https://csoai-org.pages.dev/api/pop/claim-watch"
    ]
  },
  "rail": {
    "mode": "challenge-only",
    "pay_to_configured": true,
    "facilitator_configured": false,
    "note": "402 challenges are complete (asset, amount, payTo) but no facilitator is provisioned, so no receipt can settle and no paid artefact is granted. Nothing is charged. Verification stays free."
  }
}