Proof of work

Check it yourself.

Every claim on this site is either something the chain can confirm or something we say plainly it cannot. This page collects the checkable half: the deployed launcher, what it reports right now, the tests it passes, and the review of its code. The numbers below are read live from Robinhood Chain when you open the page, not typed in by hand.

01 The contract

Reading the chain…

Launcher0x9C504EBB286560C5F2Ee1197950e806992487075
ChainRobinhood Chain, id 4663
Deploy tx0x0ecf4cbc…5a6180a9
Deployed bytecode
Pairs in registry
Launch fee
Launches
Owner
Source
contracts/pairpop/src/PairpopLauncher.sol, solc 0.8.26
Options vault0x3678890CA79Ea7bfD31a030469a5C565fb429033
Vault deploy tx0xe64982f1…04313623
Vault bytecode
Option series written
Vault ownerNone. No owner, no fee, no pause, no upgrade path.

02 What the contract cannot do

These are not promises, they are absences in the code. There is no function to do any of them, so no key, including ours, can.

ClaimWhy it holds
A launched token cannot be inflatedPairpopToken sets totalSupply as immutable at construction and has no mint function and no owner.
Nobody can freeze or seize your tokensNo pause, no blacklist, no admin transfer path in the token.
An option cannot exist without collateralThe only ways to create a series in PairpopOptions escrow the underlying or the full ETH payout first. There is no path that mints an option token without taking custody.
Nobody can pull collateral out from under a holderreclaim reverts before expiry, and only ever returns the portion still unexercised. There is no owner and no rescue function.
The site cannot fake a backed pairstockBacked is set by an on-chain gas-capped staticcall to the stock token, not by anything the browser sends.
The launcher never holds your fundsThe fee is forwarded and any excess refunded inside the same transaction. Balance between calls is zero.

03 Stock tokens, probed live

Two of the tickers on the board have a real token on chain 4663. The rest do not, and pairs made from them are labelled unbacked. This table calls each address right now and reports what came back.

TickerAddresssymbol()Result
Probing…

04 Test suite

Loading results…

Includes a fork test executed against live chain 4663, plus adversarial cases: a stock token that reverts, one that burns unbounded gas, an EOA passed as a stock address, a fee recipient that rejects ETH, underpaid fees, and out-of-range supply.

TestSuiteResult

Reproduce:

cd contracts/pairpop
forge test -vv

05 Security review

The launcher and the token it deploys were reviewed line by line. No critical, high or medium findings. Two low notes: a fee change has no timelock, so a raised fee can revert a pending transaction without any loss of funds, and the fee transfer is reentrancy-safe because all state is written before the external call. Three informational notes cover unbounded view pagination, uncapped strings, and the deliberate absence of a rescue function.

This is an internal review, documented in full, not a signed third-party audit by an external firm. We would rather say that than let the word audit do work it has not earned.

Read the full review ↗

06 What is still not proven

Options are physically settled only. A series pays out by delivering the asset that was escrowed for it, which is why no oracle is needed and why a series can only exist for a token that exists on this chain. A ticker with no token here cannot have a real option, and pairs built on one are labelled name only.

There is no market maker, no order book and no liquidity here. Writing an option does not mean anyone will buy it, and a fair premium is yours to negotiate off the pad.

Practice buys, balances and activity in the playground live in your browser only. They are not on chain and they are not a market.

Robinhood Chain itself, its RPC, and the stock tokens on it are third-party infrastructure. Nothing here reviews them.

Back to Pairpop Docs Risk notice