RMIntelligence

Research / Audit ledger

Governance

A tamper-evident record of every committee decision

RM Club's internal trading desk decides trades by committee vote. Every proposal, every ballot and every command sent to the desk's terminals is sealed into a hash chain the moment it appears. If anyone later changes, deletes or reorders a sealed record, it shows up, and you can check the chain yourself.

Live ledger status

Chain integrity
Verified
Every link recomputed on this page load
Sealed entries
12
Last sealed 26 Sep 2026, 02:41 UTC
Changes after close
0
Edits to records that were already final

Current head hash: 479009d3ca45382c5747d585e94aff3d19f8d38a121607449298c08c3eab86f3

Entry typeCount
Committee trades sealed (first version)8
Desk commands sealed1
Research journal calls sealed (frozen before outcome)2
Research journal verdicts appended at resolution1

How it works

  1. Seal. Each record (a proposal with its ballots, or a desk command) is serialised in a fixed, sorted form and hashed with SHA-256. That record hash is appended to the chain together with a pseudonymous record ID and the time.
  2. Chain. Each entry's own hash covers the previous entry's hash: hash = SHA-256(prev | seq | time | type | record ID | record hash). Changing any past entry changes its hash and breaks every link after it.
  3. Record changes, don't overwrite. When a record legitimately changes, for example an open trade closes, a new version is appended as an update. A change to a record that was already final is appended as changed after close and counted above. Nothing is ever edited in place.
  4. Anchor publicly. Every daily report prints the head hash at build time, and the report archive keeps each day at a permanent URL. A rewritten history would produce a chain that no longer contains the heads already published.

What is public and what stays private

The published chain contains only hashes, times, entry types and pseudonymous record IDs. It does not reveal positions, prices, P&L, account details or how any member voted. Because each record is hashed, anyone later shown a record (an auditor, for instance) can hash it and confirm it matches the sealed version.

Verify it yourself

The full chain is published as JSON at /research/audit-ledger/chain.json. This short Python script checks every link:

import hashlib, json, urllib.request

data = json.load(urllib.request.urlopen("https://rmclub.org/research/audit-ledger/chain.json"))
prev = "0" * 64
for i, e in enumerate(data["chain"], start=1):
    assert e["seq"] == i, f"sequence gap at {i}"
    assert e["prev"] == prev, f"broken link at entry {i}"
    raw = "|".join([prev, str(e["seq"]), e["at"], e["type"], e["key"], e["content"]])
    assert hashlib.sha256(raw.encode()).hexdigest() == e["hash"], f"bad hash at entry {i}"
    prev = e["hash"]
print("chain OK:", len(data["chain"]), "entries, head", prev)

Then compare the head it prints, or any earlier entry's hash, with the head published in the daily report for that date.

Limits

Sealing started on 25 September 2026. Records that existed before then were sealed as they stood on that date. Since 26 September 2026 the Sealed Journal also writes every public XAU/USD research call into this same chain — frozen and hashed before its outcome is known, with the verdict appended at resolution.

System status · Methodology · Sealed Journal