For machines, on the record

Machine register.

The register, for machines. Everything documented on this page is fetched without a key. The estate is flat files; flat files cannot meter, and we decline to pretend otherwise.

GET /ledger.json

The canonical register.

One flat file at the root, refreshed with the Sunday publication: the doctrine block, the update date, the vault address, and the entries. Fetch it, cache it, recompute against it. An entry looks like this:

{
  "id": "KW-2026-W35-03",
  "brief": "001",
  "date_of_fact": "2026-02-01",
  "source_family": "Official aid",
  "funder": "OECD DAC donors",
  "recipient_scope": "Global · Sub-Saharan Africa",
  "theme": "Official development assistance",
  "announced_usd_m": null,
  "disbursed_usd_m": null,
  "status": "SOURCED",
  "quote": "Global ODA fell 23% in 2025; flows to sub-Saharan Africa fell 26%; a further 11.6% decline is projected for 2026.",
  "source": "OECD · aid statistics",
  "mark": "¶3",
  "facsimile_file": "P3-oecd-oda-2025.pdf",
  "sha256": null,
  "archived_on": null
}

Fields, in order: id is the permanent identifier and the citation anchor. date_of_fact is the date the recorded fact occurred, never the date of capture. source_family takes one of five values (official aid, philanthropy, diaspora, AI and data capital, mixed or other); themes are never source families. announced_usd_m and disbursed_usd_m never merge; a null prints as null. status is SOURCED, SPECIMEN or REVISED. quote is exact and unedited. sha256 is the fingerprint of the captured facsimile, or null while capture is pending; a pending state is itself on the record, with archived_on carrying the UTC timestamp once the capture is sealed.

GET /data/ledger-vYYYYMMDD.json · from 30 August 2026

The vintages.

At each Sunday refresh the outgoing state deposits unchanged as an immutable vintage. Each vintage carries the SHA-256 of its predecessor in a sha256_of_previous field, so the full history verifies as a chain from any later file back to the first deposit. An index of vintages lives at /data/manifest.json once the first vintage is deposited. Cite the vintage, never the moving file, when your claim depends on a date: derived figures in the house's own publications are bound to named vintages the same way.

The terms

Without a key.

There are no keys, no rate limits and no registration, because the architecture has none to offer: this is a static estate and the register is a public file. One named exception exists, and this page says so plainly: the reader gateway, a small service off the estate, keeps each reader's account and sealed library (ciphertext the house cannot read) so a library can follow its reader across devices. It holds no register data and no key to anything documented here. Where a copy of the register and this site could ever differ, trust the file whose fingerprint verifies.

Cite the register as: Kwetchi Intelligence, the Ledger, entry [id], vintage [date]. No advertising funds this work. Readers fund it.

Invitation

The method behind the file is printed in full.

Read the method