A Power Event Record, shown — and verifiable

This whole site talks about the Power Event Record. Here is an illustrative one. See the four questions it answers and its hash-chain entry, then recompute the chain yourself, in your browser, with no key and nothing to trust.

Illustrative example — not from a real deployment. The values are constructed. Real records are also signed with Ed25519; this example shows just the hash chain.

It answers four questions about a single power-cap change

Device example-node-01:gpu:3 · SET_POWER_LIMIT · recorded 2026-01-15T14:02:11Z · illustrative — not from a real deployment.

Which GPU, and when?
GPU example-node-01:gpu:3, at 2026-01-15 14:02:11 UTC. That's the time you'd line up against a curtailment window.
What was the limit before?
The GPU reported a power limit of 350W before the change.
What did the GPU report after?
A limit of 300W was requested and the GPU read back 300W, so the drift is 0W. The record holds what the GPU reported, not just what was asked for.
Has the record been edited since?
It's sequence 14820 on an append-only SHA-256 hash chain. An edit to a stored record breaks the chain on recompute. Try it below.
350W
Limit before
300W
Limit read back after
0W
Drift vs requested
SHA-256
Chain integrity

Illustrative example — not from a real deployment. Spark-XC records the GPU's own reported power limits and telemetry. It does not include facility or utility meter data.

Don't trust us — recompute the chain

The chain entry is entry_hash = SHA-256( canonical_json(record) ‖ prev_hash ). Pick an example, hit verify, and your browser recomputes the hash with the Web Crypto API. It runs entirely on your machine — no key, no server.

In a real deployment: Every record is signed with Ed25519. Auditors only need the public key. Anyone with a copy can recompute the chain. Anchors go to a local write-once directory by default, and can be sent to off-site storage you control.



      
prev_hash
entry_hash (claimed)
SHA-256 (recomputed)— press verify —
Download raw JSON ↓

Canonical JSON = object keys sorted ascending, no whitespace, UTF-8. The same five lines work offline:

$ node -e '
  const c=require("crypto"), p=require("./per-sample.json");
  const rec=JSON.stringify(p.record, Object.keys(p.record).sort());
  const h=c.createHash("sha256").update(rec+p.prev_hash).digest("hex");
  console.log(h===p.entry_hash ? "VERIFIED" : "BROKEN");'

Make a record from your own numbers

Enter a power-cap change, or paste a JSON export, and your browser seals it into a Power Event Record and recomputes the chain, live. Nothing is sent anywhere.

…or paste a JSON export

Constructed in your browser from the numbers you entered. This demonstrates the PER format and the SHA-256 chain — it is not a Spark-XC record. A real Power Event Record holds what the GPU reported and is signed with Ed25519.

Want one of these built from your environment?

Show me the record →