
Roll Call
Every protocol has a pause button. Roll Call tells you whether anyone is still holding it.
Demo
About
Every protocol has a pause button, an upgrade path, a multisig. Almost none can tell you whether anyone is still holding it. Roll Call derives that from onchain history instead of reading the claim. Paste a protocol contract. Roll Call resolves the Safe above it, recovers which owners actually signed each transaction from the execTransaction calldata, tests whether those signers act independently or as one party, dates every signer's last onchain signal, and reads what the contract holds. Out comes the number that matters: the honest quorum, how many independent, awake parties are really required to move the money, against the threshold the protocol declares. Base's L1 Portal holds $1.92B. It can be upgraded by a 2-of-2 with zero margin and no timelock. Mantle's L1 Portal holds $411M behind a declared 6-of-14 that resolves to an honest quorum of 2, with 7 of its 14 signers showing no onchain signal in 180 days. Across 47 protocol contracts worth $4.82B, $2.38B sits behind a signer set with zero margin. Every number was read from chain state. Every number carries its tier: observed (chain state), tested (a calibrated permutation test with a published false positive rate), or inferred (the effective quorum curve). Nothing is a made-up score; the calibration endpoint is public. Ask it a question. "Who can freeze Mantle, and how many of them are asleep?" and an agent resolves the protocol to its keys, prices the report by the work it takes, reads what money sits behind those keys through The Graph, pays for the report over x402 on Hedera with its own wallet, and answers in plain English from the numbers, every step on screen. Every report also comes back as sentences, one per number, and as a path from the money to the people. It is a service agents pay for: metered by work, settled in HBAR or in RCC, an HTS token with a 2% fee schedule the network enforces; prepaid credits for runtimes that cannot sign; renewals by Hedera Scheduled Transaction; every report attested to HCS, and that archive doubles as the shared cache behind the enclave's signal. Roll Call is a registered ERC-8004 agent on Hedera testnet and Sepolia, with a discovery manifest at /.well-known/x402. Two Chainlink CRE Confidential Workflows turn the measurement into action inside an enclave. One watches a private list of protocols and reports breaches. The other defends a live lending position in the official liquidation protection challenge on Sepolia, with a trigger no other protection has: if the market's own control surface degrades, it de-risks regardless of price. Both run end to end in the CRE simulator against the live contract. The Graph carries the population: a subgraph of Safe executions and approvals, and a registry of 84 verified Messari standardized deployments across 12 networks queried with one query string, every answer stamped with its deployment and indexed block. Seven MCP tools and a SKILL.md let any agent ask the same questions. Live: https://rollcall-pi.vercel.app Repo: https://github.com/divyanshkhurana06/rollcall Hedera Harness PR: https://github.com/hedera-dev/hedera-harness/pull/53 Harness before/after video: https://drive.google.com/file/d/1cqjV9rzSAkYKB_b_eQtC0rDgDpGZ_vvM/view?usp=sharing
How it's made
The load-bearing primitive is signature recovery. A Safe's execTransaction calldata carries a packed signature blob. Roll Call splits it by v-type (contract signature, approved hash, eth_sign, EIP-712), recovers each signer against the safeTxHash, and reconstructs who approved what, including nonce-zero signers that no explorer shows. Validated at 100% on every recoverable transaction in the test set. Independence is a permutation test: for each pair of owners, the observed co-signing count against a null that preserves the threshold (Efraimidis-Spirakis weighted sampling), a co-submission artifact filter, and an empirical p-value with +1 smoothing. Calibration runs on synthetic signer sets and is published: 0% family-wise false positives at alpha 0.01, 100% power. Liveness is a binary search on eth_getTransactionCount over block history, with an explicit indeterminate state rather than a silent "never signed". Authority resolution walks EIP-1967 slots, Ownable and AccessControl grants; time to harm comes from timelock delays. Readers fail over across RPC providers and across the Safe API and its gateway, and a read that fails everywhere is reported as unreadable, never as an empty slot. Hedera: x402 v2 with strict PaymentRequirements through the Blocky402 facilitator; two settlement assets (HBAR, and RCC, an HTS token with a 2% fractional fee assessed by the network on a real settlement); a bearer credit store bought over x402; renewals by Scheduled Transaction verified on the mirror node; HCS attestations that double as the shared signal cache, which is what makes the serverless deployment stateless; ERC-8004 registration with the agent card inline as a data URI; and a PR to the Hedera Harness that makes doctor verify operator credentials against the mirror node. Chainlink: two Confidential Workflows on the TypeScript SDK. The liquidation strategy is written in the challenge contract's own integers, because at $1,800 the starting position has a health factor of 1.0029, which the contract truncates to 100 and liquidates; walked through the five published scenarios under both orderings of price update and liquidation check. One tick() engine runs inside the enclave, from a laptop, and in tests against an in-memory model of the contract that decodes every signed transaction. The hacky part: the simulator trapped for three days on every workflow including Chainlink's own scaffolds; the cause was the Bun version the SDK bundles with, isolated by reinstalling the old one and reproducing the trap. The enclave's plain HTTP budget is ten seconds, so the governance signal is served warm from HCS rather than computed on request. The Graph: a Safe subgraph in Studio, the Messari standardized deployments probed into a registry with per-deployment provenance, an MCP server with seven tools, and the Ask agent using the gateway as a step in a paid workflow. Web is React and Vite, API is Express bundled by esbuild into one Vercel function with a 300-second budget, web and API on one domain. Everything is testnet.