{
  "about": "The Genesis Council is the first set of independent witnesses of the Rightshold ledger. A witness is anyone who controls a domain: it publishes a key, registers, declares its affiliation honestly, and cosigns the block headers it has checked. Finality needs Bitcoin anchoring plus cosignatures from confirmed-unaffiliated witnesses, so the council's composition — not the platform's word — is what makes a record final.",
  "steps": [
    {
      "n": 1,
      "id": "publish_key",
      "title": "Publish your witness key",
      "detail": "Generate an Ed25519 key pair and publish the public key (PEM) at https://<your domain>/.well-known/rightshold-witness.pem. The private key never leaves your machine.",
      "action": "GET /cli/ledger-witness.mjs — the kit's keygen does this and prints the PEM to publish."
    },
    {
      "n": 2,
      "id": "register",
      "title": "Register the domain",
      "detail": "Registration fetches the key file over HTTPS and verifies it. Registering again re-verifies; a different key becomes a new witness record, never an edit.",
      "action": "POST /v1/ledger/witnesses {\"domain\": \"<your domain>\"}"
    },
    {
      "n": 3,
      "id": "declare",
      "title": "Declare your affiliation — honestly",
      "detail": "If you have no shared ownership, funding, employment or control with Rightshold or any Rightshold Anchor client, sign the published unaffiliation statement with your witness key; a public challenge window then runs, and anyone may challenge with evidence links. If you are not independent, do not sign: an unconfirmed label is the honest state, and a false declaration is publicly challengeable forever.",
      "action": "POST /v1/ledger/witnesses/declare — statement and payload at GET /v1/ledger/witnesses/affiliation"
    },
    {
      "n": 4,
      "id": "fetch_kit",
      "title": "Fetch the one-command kit",
      "detail": "The witness-in-a-box kit verifies the whole chain locally before it signs anything. Pin its SHA-256 from two independent paths (here and /cli/witness-in-a-box.sha256) before running it.",
      "action": "curl -sO https://www.rightshold.com/cli/witness-in-a-box.mjs && node witness-in-a-box.mjs verify",
      "kit_sha256": "e673093913785d32b472fa45cb60d924fc60047a3b1618c371704038fc83754b"
    },
    {
      "n": 5,
      "id": "handshake",
      "title": "The attestation handshake: cosign a block you have checked",
      "detail": "Cosigning is the handshake: your Ed25519 signature over a sealed block header you verified independently. A cosignature from a witness whose key was verified more than 30 days ago is refused — re-register to refresh.",
      "action": "POST /v1/ledger/blocks/{height}/cosign {\"domain\", \"signature\"} — the kit does this end-to-end."
    },
    {
      "n": 6,
      "id": "listed",
      "title": "Listed in the public registry, by class",
      "detail": "The registry lists every witness under a neutral label (W-001, W-002, …) with its affiliation class computed from the sealed declarations, windows and challenges — never asserted by hand. Your domain and full key id never appear on public read models.",
      "action": "GET /witnesses — the public registry; GET /v1/witnesses/council — this status."
    }
  ],
  "composition": {
    "registered": 2,
    "by_class": {
      "affiliated": 2,
      "confirmed-unaffiliated": 0,
      "declaration-pending": 0,
      "challenged": 0,
      "unconfirmed": 0
    },
    "confirmed_unaffiliated": 0,
    "required_for_finality": 2,
    "counting": "Classes are computed at read time from the registry's signed declarations, challenge windows and open challenges. Affiliated means operated by Rightshold (declared by key fingerprint or on its own domain) or under common ownership with it (sealed once on the ledger as peer.affiliated, permanently); confirmed-unaffiliated means a signed declaration aged past its public challenge window with no open challenge. No other class counts toward finality."
  },
  "kill_gates": {
    "external_issuers": 3,
    "unaffiliated_final_receipts": 0,
    "targets": {
      "days_90": {
        "independent_witnesses_running": 5,
        "paying_external_anchors": 3
      },
      "months_12": {
        "external_issuers": 25,
        "unaffiliated_final_receipts": 100
      }
    },
    "counting": {
      "external_issuers": "Distinct live accounts (sandbox and canary excluded) holding at least one anchor stream — the issuer surface. The set is stated so the count can be recomputed; it includes the operator's own dogfood streams where they exist.",
      "unaffiliated_final_receipts": "Ledger entries sealed in blocks that are final under the published predicate: Bitcoin-confirmed and cosigned by at least the required number of confirmed-unaffiliated witnesses. A count of entries, each a sealed record on the ledger.",
      "witnesses": "Witness affiliation is computed at read time from the registry's signed declarations, challenge windows and open challenges (see /v1/ledger/witnesses); it is never asserted by hand."
    }
  },
  "witnesses": [
    {
      "label": "W-002",
      "key_fingerprint": "b88a4704",
      "relationship": "affiliated",
      "affiliation": {
        "status": "affiliated",
        "basis": "common_ownership",
        "declared_at": null,
        "window_days": 7,
        "window_ends_at": null,
        "open_challenges": 0
      },
      "registered_at": "2026-11-07T00:33:43.621Z",
      "last_verified_at": "2026-11-07T00:33:43.621Z",
      "current": true,
      "cosignatures": 264
    },
    {
      "label": "W-001",
      "key_fingerprint": "fb3fb6d7",
      "relationship": "affiliated",
      "affiliation": {
        "status": "affiliated",
        "basis": "operator_key",
        "declared_at": null,
        "window_days": 7,
        "window_ends_at": null,
        "open_challenges": 0
      },
      "registered_at": "2026-10-23T17:47:14.050Z",
      "last_verified_at": "2026-10-23T17:47:14.050Z",
      "current": true,
      "cosignatures": 1
    }
  ],
  "kit": {
    "script_url": "https://www.rightshold.com/cli/witness-in-a-box.mjs",
    "sha256_url": "https://www.rightshold.com/cli/witness-in-a-box.sha256",
    "sha256": "e673093913785d32b472fa45cb60d924fc60047a3b1618c371704038fc83754b"
  }
}