Quorum

Knew this shape.
At this block.

When a finding reaches quorum it stops being a private opinion. quorum attest writes the claim digest to Robinhood Chain, where the token is, as a self-addressed 0-value transaction. The finding itself never leaves the machine.

Findings

Agreement is signal.
MarkFindingRiskCorroborated byState
VulnerableVault.sol:withdrawreentrancycallorder-lens, guard-lensConfirmed
OpenFeeSetter.sol:setFeeRateunguarded-state-writemodifier-lens, sender-lensConfirmed
FriendtechSharesV1.sol:buySharesreentrancyguard-lens (recall); first confirmed on VulnerableVault.sol, 1 sighting was enoughRecalled
Aerodrome Router, WETH9, a Compound proxy11 candidates, none published.no second lens agreedRefused

Disagreement is kept as a candidate and never published. Run Quorum against audited production contracts and it mostly holds its tongue.

The first paid claim, on Robinhood Chain

Claimed
FriendtechSharesV1.sol:buyShares:reentrancy
Block
60762176 · 2026-09-12T02:46:55+00:00
Fee burn
100,000 QUORUM at block 60762150, burn transaction
Signer
0xf9946775891a24462cD4ec885d0D4E2675C84355
Digest
0xfd7d5ec6e350aa28f160c2d3cf60d3faf4b52d8f7280bfe9f665ce1809042721

Read the claim on Blockscout

The first claim of all, Base block 51138878, predates the fee and the move and still verifies.

quorum verify

$ quorum verify 0xb999d218981ad9985b587da6c4017ae7dc8557ef702e27c9bbc9ca4f68bf1655

claim on Robinhood Chain  block 60762176  2026-09-12T02:46:55+00:00
  published by 0xf9946775891a24462cD4ec885d0D4E2675C84355
  digest       0xfd7d5ec6e350aa28f160c2d3cf60d3faf4b52d8f7280bfe9f665ce1809042721
  fee burned   100,000 QUORUM on Robinhood Chain, block 60762150, by the same signer

  the evidence for this claim is still in memory
    FriendtechSharesV1.sol:buyShares:reentrancy
    corroborated by guard-lens  (recall)
  digest recomputed from memory matches the chain

In your browser

Everything above is a claim about a transaction. Read that transaction from the chain in this browser and check it against the digest printed on this page. Nothing is sent anywhere; the request goes straight from you to a public node, asking Robinhood Chain first and Base second, the same order quorum verify uses.

What goes on chain

The digest commits to the risk, the idiom signature, the contract, the function and the exact set of lenses that corroborated it. What goes on chain is a timestamped, verifiable claim that this swarm knew this shape at this block, which is what a disclosure timeline actually needs.

quorum verify reads the claim back and recomputes the digest from memory: the claim is only meaningful if the evidence behind it is still there and still hashes the same. The transaction hash is written back onto the finding in memory, so the claim and its evidence stay joined.

Claims default to the token’s chain so a verifier needs one RPC, not two. The signing key is read from the process environment at call time and never logged.

The token

Chain
Robinhood Chain, id 4663
Fee
100,000 QUORUM per published claim (1,000 at launch, until block 60761164)
Paid to
Nobody. Burned through burn(uint256).
Supply
Supply is read from the token contract.
Claim shape
QUORUM2: digest plus burn transaction hash
Claim chain
Robinhood Chain by default (QUORUM_CHAIN_ID can point at Base)

The first claim, Base block 51138878, predates the fee and the move; it reads back as a v1 claim with no burn to check.

Publishing costs

Scanning is free. Publishing is not.

The claims above form a public registry of “this swarm knew this bug shape at this block”. A public registry that is free to write to fills with junk, so writing to it has a cost, and the cost is destroyed rather than paid to anyone.

Each claim burns 100,000 QUORUM through the token contract’s own burn(uint256) on Robinhood Chain before the claim is written to the same chain, and the claim’s calldata carries the burn’s transaction hash.

quorum verify checks both halves: the digest on chain, and that the burn it points at is a real burn of at least the fee by the same signer. A claim whose fee was never burned does not verify.

The fee was 1,000 QUORUM at launch and is 100,000 from Robinhood Chain block 60761164. A burn is judged against the fee in force at its own block, so claims paid at the launch rate keep verifying.

Everything else, run, swarm, recall, retire, the memory tiers, the --no-memory test, has no token in it, and tests/test_token.py asserts that the scanner modules never touch it.

quorum reveal, quorum import

$ quorum reveal FriendtechSharesV1.sol:buyShares:reentrancy      # discloses the claimed fields on chain (QUORUM3)
  revealed on Robinhood Chain FriendtechSharesV1.sol:buyShares:reentrancy
    https://robinhoodchain.blockscout.com/tx/0x7556ec748f8ffb9e2ca5809c4383e407f4affb9b847124c0d33205281e905f32

$ quorum --db fresh.db import 0x7556ec748f8ffb9e2ca5809c4383e407f4affb9b847124c0d33205281e905f32   # someone else's machine
reveal reentrancy  reentrancy:97d18d17cfa4494a  by 0xf9946775891a24462cD4ec885d0D4E2675C84355
  ok  digest matches the claim
  ok  revealed by the claim's signer
  ok  claim fee of 100,000 QUORUM burned
  imported as a hint: still needs two local lenses to confirm

Reveal, and import

Once a claim is paid, its owner can reveal the pattern behind it, and any other swarm can import it. An import checks three things and refuses if any fails: the revealed fields hash to the claim’s digest, the reveal came from the claim’s signer, and the claim’s fee was burned.

So a pattern nobody paid to publish never enters anyone’s memory. That is the whole job of the token: it is the cost of being listened to by other people’s swarms.

No second fee. The claim already burned it. What the reveal adds is checkability, since anyone can hash the revealed fields and compare them to the claim.

PreviousThe memoryNextRun it