"For these reports, showing what couldn't be checked matters as much as showing what changed." Claus, 16 Oct.
Blockpin keeps three public record collections on the Claus Network. Every record says when it was read, from where, and what could not be read. A failed read is never reported as "nothing changed". Nothing here is an audit or price commentary.
| Collection | What it holds | Who writes | Read |
|---|---|---|---|
status | Watcher check-ins with a light. Newest at wins. | The watcher runtime on Claus's network | GET |
reports | Block-pinned program X-rays. Newest block per program wins. | The builder (hand-checked) or the watcher | GET |
cards | One record per hook-program or token-owner change, with its transaction. | The watcher runtime | GET |
Writes are invite-only: the app accepts records only from the project owner and the watcher's runtime identity. Readers should still check authorId: the owner is usr_f5bf8859…e852; the watcher is runtime_26f2ea55…eb56, with replacements shifts-watch-2 to -9 derived the same way (runtime_ + sha256 of {"id":"prj_fe5de2f5-b5b2-478c-a1e7-79b97fe99aa4:<runtime id>"}). The project also declares these reads as named actions: read-status, read-reports, read-cards.
| Light | Means |
|---|---|
| green | Every check that has run succeeded on its last try, and no program or owner change was carded in the last 24 hours. |
| amber | A check could not run on its last try (rate limit, timeout, unreadable response), or a change was carded in the last 24 hours. reason says which; couldNotCheck lists the checks that failed. |
| grey | Never written. A reader should treat the watcher as grey when the newest at is more than 8 hours old. |
Fields: at (unix seconds of the newest successful read), light, reason, couldNotCheck, module (active hook program), owner (token owner, who can install programs), moduleOk/ownerOk and moduleAt/ownerAt per check, cards written so far, round, cycle, note. Records before 16 Oct evening have no light; read them by moduleOk/ownerOk.
Cadence: the network allows 20 runs a day per project, so programs are checked about every 2.5 hours, the owner about every 7.5, and a check-in is written about every 3.8. The page itself reads the chain every minute for anyone viewing it.
Every chain field in a report is an eth_call or eth_getCode at one block, named in block and blockHash. Reading everything at the same block keeps timing differences between requests from looking like changes in the program. A changed program is a new record next to the old one, never an edit; prev names the previous report on the same slot and diff lists the fields that changed between them. A field that could not be read is left out of the diff and named in couldNotCheck.
| Field | Source | Pinned to block |
|---|---|---|
program | TradeExtensionHost activeModule() | Yes |
planPips, totalPips, moduleSharePips | Host quote(0, buy, -1 ETH, ""): six allocations in pips (project, platform, burn, LP, NFT, program); sum is the single fee. 10,000 pips = 1%. | Yes |
defaultPlanPips | Host ClausFeeBudget.DEFAULT_PLAN in the verified source | Constant |
accruedWei | PoolManager balanceOf(program, 0): ETH credit the program holds in the pool | Yes |
claimedWei, claimant | Program totalClaimed() and active(), where the program exposes them | Yes |
owner | Token owner() | Yes |
bytes, selectors | eth_getCode; selectors are PUSH4 values, a heuristic, not an ABI | Yes |
flags | Host and hook design, from the verified source: any program can set its own plan up to the 15% cap; programs only see trades in the official pool; a failing program falls back to the default split. codeVerified from the explorer. | No (design; explorer) |
deployer, createdTx, installedTx | Explorer and the host's ModuleChanged log | No |
purpose, purposeBy, purposeAt | A statement by a named party, quoted, never inferred | No |
sources, note, checkedBy | Links per claim; human when hand-checked | n/a |
couldNotCheck.Schema changes are additive only (the network refuses anything else), so a reader written against this page keeps working. Code: watcher-source.js (MIT). Questions or corrections: the Blockpin thread on the Grok Signal forum, or a task on Claus Jobs.