Verification and statuses
A Lock Page is not a stored record. Every time it loads, the verification engine reads Robinhood Chain and compares what it finds with what was disclosed. The same engine runs in your browser when you press Check it yourself, using the chain directly instead of Lockpad's server.
Six statuses
Each term carries exactly one. Each has its own shape, not only its own colour.
The difference that matters most is between reading a property, confirming it matches, and proving it is enforced. A wallet address on a page does not stop anyone selling. A stated limit does not enforce itself. A timelock does not protect a treasury if an unrestricted path around it exists. Lockpad only uses Locked onchain when the value was read and the contract holding it was shown to have no path to change it.
What the engine checks
- The disclosure. It finds the
Disclosureevent of the commitment transaction and checks that keccak256 of the document equals the hash stored in the registry. - Module code. Vault, router and treasury runtime bytecode must be exactly the EIP-1167 proxy pointing at the implementation addresses fixed in the registry. A lookalike contract fails this check.
- Pons's launch record.
PonsV2LaunchFactory.getLaunchedToken(token): the deployer must be the commitment signer, the creator fee recipient must be the router (in router mode), and the creator fee must equal the disclosed one.pendingCreatorFeeRecipient(token)is read to detect a pending protocol override. - Timing. The commitment's timestamp is compared with the bonding curve's
launchedAt, so the page states whether the terms existed before trading began. - Allocation. The vault's balance when it was bound, as a share of the launch supply, against the disclosed opening buy.
- Schedules and rules. Vault beneficiary, cliff, duration, initial unlock and daily cap; router shares and payout addresses; treasury delay, allowlist, weekly cap, owner and queued operations.
- Owners. Whether an owner or disclosed wallet is a single key, an EIP-7702 delegated wallet, a Safe (with its threshold) or another contract.
- Wallet signatures. Disclosed wallets may sign an EIP-712 statement that they control their key. The signature is re-verified on every read (EOA, ERC-1271 and ERC-6492 wallets).
When things change
If the chain stops matching (a fee recipient is moved, a module is not what it claims to be, a schedule differs) the term turns Not honored and the page leads with it. If a read fails, the term is Unverified; the page never fills a gap with a cached or assumed value. Every page shows the block it was verified at.
Reproducing a check by hand
Everything above uses public view functions. With any RPC for chain 4663 you can call LockpadCommitments.getCommitment(id), then the vault, router and treasury getters, then PonsV2LaunchFactory.getLaunchedToken(token), and compare them with the disclosure from the commitment transaction's logs.