Verify with HeartBank®: reference
Check anything we say, from the public logs, free forever, with no account and no key.
Two public, append-only logs at log.333.eco, in the open tlog-tiles format (c2sp.org/tlog-tiles), Merkle trees hashed per RFC 6962: origin (every signed record, Sign with HeartBank®) and ledger (every thank, Thank with HeartBank®, with its zero-sum proof). Plain files: read them with any HTTP client. Nothing here is metered, and nothing asks who you are.
Tools that read them for you: npx @333eco/origin-verify (records: file, record, pack, check offline, audit the whole log), the zero-sum proof checker (repo 333eco/zero-sum-proof.333.eco, CC0), and B-Explorer at explorer.333.eco, which recomputes in your browser.
What a check rests on, each standing alone: included (our keys and the proof) · witnessed (outside witnesses' signatures: ⚠️ not counted yet, the logs are on the Witness Network's testing list) · timestamped (each authority's word) · bitcoin (Bitcoin's proof of work). ⚠️ The logs only grow, and anyone can test that; they do not yet stop a log from showing different people different histories. Outside witnesses catch that, and they aren't counted yet.
GET https://log.333.eco/origin/checkpoint
The latest signed checkpoint: the log's size and root
A signed note (C2SP signed-note). For origin, the signing key is pinned in @333eco/origin-verify/trust.
Who may call it: anyone, no key
Answers
200 The signed note. string
On the MCP server: the tool checkpoint
GET https://log.333.eco/origin/checkpoints/{size}
Every earlier checkpoint, locked (written once, never replaced)
Who may call it: anyone, no key
Parameters
| Name | Type | What it is |
|---|
size (path) | integer | |
Answers
200 The signed note. string404 No checkpoint at that size.
On the MCP server: the tool checkpoint_at
GET https://log.333.eco/origin/tile/{level}/{index}
A tile of the Merkle tree
index is path-encoded as tlog-tiles says (for example x001/234), with .p/<width> for a partial tile.
Who may call it: anyone, no key
Parameters
| Name | Type | What it is |
|---|
level (path) | integer | |
index (path) | string | |
Answers
200 Hashes, 32 bytes each. string404 Not there (yet).
On the MCP server: not a tool: binary: use @333eco/origin-verify or the proof checker
GET https://log.333.eco/origin/tile/entries/{index}
A bundle of the log's entries
Each entry is a JSON document. In origin, a record (t: "record", the claim naming a file by hash only; who signed stays unlinkable unless the signer shows it). In ledger, thanks, the season's rule and its proofs; ⛔ never a name or an amount.
Who may call it: anyone, no key
Parameters
| Name | Type | What it is |
|---|
index (path) | string | |
Answers
200 Length-prefixed entries. string404 Not there (yet).
On the MCP server: not a tool: binary: use @333eco/origin-verify or the proof checker
GET https://log.333.eco/origin/stamps/index.json
Which checkpoints carry which clock
Who may call it: anyone, no key
Answers
200 The checkpoint sizes with an authority's token, and with a Bitcoin proof. { tsa, ots }
What a success answer holds
| Field | Type | What it is |
|---|
tsa | integer[] | |
ots | integer[] | |
On the MCP server: the tool stamps_index
GET https://log.333.eco/origin/stamps/{size}.{authority}.tsr
A timestamp authority's token (RFC 3161) over a checkpoint
Who may call it: anyone, no key
Parameters
| Name | Type | What it is |
|---|
size (path) | integer | |
authority (path) | "aped-gr" | "accv-es" | "freetsa-de" | |
Answers
200 The token. string404 That authority didn't stamp that checkpoint.
On the MCP server: not a tool: binary: use @333eco/origin-verify
GET https://log.333.eco/origin/stamps/{size}.ots
An OpenTimestamps proof over a checkpoint, reaching Bitcoin
Who may call it: anyone, no key
Parameters
| Name | Type | What it is |
|---|
size (path) | integer | |
Answers
200 The proof (upgraded in place once Bitcoin confirms it). string404 No Bitcoin proof for that checkpoint.
On the MCP server: not a tool: binary: use @333eco/origin-verify
GET https://log.333.eco/ledger/proof/{from}-{to}.json
The ledger only: the zero-sum proof over entries from…to
Only the windows the ledger has published exist: list them with the list_zero_sum_proofs tool (each is a proof entry in the ledger's own log); any other range answers 404. Shows, without revealing a row, that every account's balance is the sum of its thanks under the season's rule, and that the whole sums to zero. Each file chains from genesis. Check it with the checker in 333eco/zero-sum-proof.333.eco. At a season's close the file also carries what lets each person check, from their own downloaded record, that their thanks were counted.
Who may call it: anyone, no key
Parameters
| Name | Type | What it is |
|---|
from (path) | integer | Where a published window starts, exactly as list_zero_sum_proofs gives it (the first is 0) |
to (path) | integer | Where that same window ends, exactly as list_zero_sum_proofs gives it (for example 512) |
Answers
200 The proof file. { v, from, to, genesis, origin, circuit, K, windows }404 No proof file with that range.
What a success answer holds
| Field | Type | What it is |
|---|
v | integer | |
from | integer | |
to | integer | |
genesis | string | |
origin optional | string | |
circuit | string | |
K | integer | |
windows | object[] | |
On the MCP server: the tool zero_sum_proof