Supply moves every slot. Reserve proof shouldn't wait a month.
Register Check watches a stablecoin mint's finalized history, runs four SQL rules over it, and seals every violation in a proof anyone can re-run. The seal is recorded on-chain, seconds after the mint lands.
- Rule
- waiting for a finalized mint…
- Seal
- —
- On-chain
- —
Tokenized dollars are still checked on paper. One PDF a month, for an asset that changes every 400 ms.
A mint over reserve on day 2 shows up on day 30, if it's still there. Nothing points to the transaction.
Every finalized transaction is checked. A violation names its signature and slot, and comes with the SQL that found it.
Four steps, no trust required. Every stage can be re-run by someone who isn't us.
Finalized history
Paginates getSignaturesForAddress, parses Token-2022 by program id, including CPI inner and batched instructions.
Seven Arrow tables
Mints, burns, transfers, balances, authority changes, signed reserves, allowlist. Supply is reconciled against getTokenSupply.
Plain SQL on DataFusion
Static rule files with no parameters, so config can't inject SQL. Each file's sha256 is registered on-chain.
Proof + on-chain hash
Canonical JSON, sorted keys, sha256 result_hash, written to a CheckResult PDA by the rc-attest program.
The whole policy fits on a screen. Read it before you trust it.
Three integrity checks also run on every poll: parsed supply against the chain, account balances against history, and reserve freshness. If one fails, the register goes red, never vacuously green.
Don't take our word for it. Take the hash.
$ git clone https://github.com/batmnnn/register-check && cd register-check $ python3 -I scripts/verify_proof.py docs/evidence/R1_live_devnet.json # recomputes result_hash from the canonical bundle → 79f9db60…8c23
RE-FETCHPull the cited transaction at finalized commitment from any RPC.
RE-RUNRun the same SQL file. Its sha256 is pinned in the on-chain Rule account.
RE-HASHCanonical JSON → sha256. It matches the CheckResult account, or it doesn't.
Already fired, on a real chain. Devnet, Oct 2026.
| Mint that pushed supply over reserve | 1,100 / 1,000 · 2M5cweV7…cggPi ↗ |
| R1 result hash recorded on-chain | 79f9db60…8c23 ↗ |
| Alert latency, mint sent to proof file | 4 s |
rc-attest Anchor program | BNADNdmc…LthV3 ↗ |
| Also fired live and attested | R2 stranger wallet · R4 hook swap |