POGG

A signature nobody can farm, on a chain that settles securities.

A script produces a million. A body produces about two a day.

Home chain: Robinhood (4663). Ethereum, Base and Sepolia are built in too; every other chain is one provision.py chain away.

What is deployed

The three contracts

PoggAttestation

A library, not a deployment. It verifies a 238-byte liveness record in Solidity — the same check firmware/attest.py does off chain.

BIP-340 Schnorr has no EVM precompile, so it is rearranged into one ecrecover plus a modexp to lift the point: about 41k gas to verify.

PoggRegistry

The singleton. It holds the three things the record cannot carry: whose key it is, the highest counter seen from it, and which firmware and calibration you accept.

The digest a device signs commits to the chain, the contract and the claimant, so a record cannot be replayed on a fork, against another deployment, or by someone else.

PoggDormancy

Proof of life, in two phases on purpose. A claim releases nothing — it opens a challenge window, and one beacon during that window cancels it.

Deployed by whoever wants that switch, against this registry: it names one owner and one beneficiary at construction, so a shared one would name somebody else's heir.

Why this chain

Robinhood Chain settles in USDG and carries tokenized securities — NVDA, AAPL, TSLA, SPY and the rest, each named <Issuer> · Robinhood Token. Those are the transfers where a confirmation screen has the most to get right, and they are exactly the transfers a compromised laptop would most like to sign for you.

They are also where a symbol stops being an identity. This chain has a GME that is not GameStop, an AAPL that is not Apple and a SPY that is not the ETF — memecoins wearing the tickers of real securities. So the device ships with no token registered at all, and never looks one up by symbol:

$ tools/rhtokens.py check 0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9
Robinhood Chain (4663), block 59015636

  address   0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9
  name      Apple • Robinhood Token
  symbol    AAPL
  decimals  18

  A tokenized security: the contract names itself 'Apple • Robinhood Token',
  which carries 'Robinhood Token'.

The tool reads the contract and prints the exact provision.py token line. The owner still types it on a device with no network, and still reads the confirmation back — the label stays the owner's claim, made against the contract rather than a screenshot.

What a record is worth here

An attestation is separate from the spend signature, under a key generated at provisioning that never leaves the secure element. It binds a tier to a specific sighash, a monotonic counter, a firmware hash, the calibration in force, and the gate measurements behind the claim.

For an allowlist, a mint or a quorum vote, the claim worth publishing is usually "a human bled" and not "device 7 bled". firmware/ring.py signs as one member of a registered set, so nobody votes twice and nobody accumulates a voting history.

Check it yourself

$ tools/chain_check.py
Robinhood Chain (4663), block …
PoggRegistry at …

  the endpoint is Robinhood Chain                     PASS
  there is code at the address                        PASS
  BEACON_TAG is the one the firmware signs under      PASS
  REDEEM_TAG is the one the firmware signs under      PASS
  EPOCH_SECONDS matches firmware/beacon.py            PASS
  currentEpoch() is what firmware/beacon.py computes  PASS
  requiredTier is BLOOD                               PASS
  beaconTier is TOUCH                                 PASS
  this build's firmware is allowlisted                PASS

Same checks as the ones above, from a terminal, against contracts/deployments.json. If the two ever disagree, believe neither and read the chain yourself.