feesExploreLaunchDocsProfile
rh-scan@FeesRH
Documentation
Start here
  • Overview
  • Launching a coin
  • Claiming fees
How it works
  • Fees, exactly
  • Custody and security
Trust
  • Contracts
  • Verify the code yourself
  • Risks and FAQ

Verify the code yourself

Read the source and match it to the chain.

The replacement registry is not live yet. The wallet-paid claims and binding protections described here apply to the upcoming version, not the original deployed contract. Social-account launches and claims are disabled in this app until the replacement is configured.

You should not have to trust this page. Here is how to check the contracts with your own eyes in a few minutes.

1. Read the source

The registry and vault have no upgrade path. Each per-launch vault is a minimal proxy pointing to a fixed FeeVault implementation. Open Blockscout's contract code tab to read FeesRegistry.sol, FeeVault.sol, and their dependencies:

  • Registry on Blockscout: read the verified contract source
  • Sourcify (independent verification record): repo.sourcify.dev/4663/0x127eEB8f…

2. Match it to the chain

Source verification checks that published source and compiler settings reproduce deployed code under the verifier's matching rules. Check the verification status and match type on Blockscout or Sourcify for the registry address: 0x127eEB8f0559112ce18276305D2c7628b47Fa55C. Verification makes the code inspectable; it does not prove that the contract is secure.

3. Reproduce the bytecode

Download the complete verified sources and compiler settings from Blockscout or Sourcify, preserving dependency paths. With Foundry, build with the published settings and retrieve the deployed runtime code:

# preserve all verified source paths and dependencies
# settings: solc 0.8.28, evm cancun, optimizer on, 10000 runs
forge build
cast code 0x127eEB8f0559112ce18276305D2c7628b47Fa55C --rpc-url https://rpc.mainnet.chain.robinhood.com

These commands are inputs to verification, not a completed comparison. A full reproduction must also account for constructor arguments, immutable values, linked libraries, and compiler metadata. Read vaultImpl() on the registry to identify the fixed implementation used by the vault clones.

What to look for

  • In the replacement FeeVault.sol: claim has onlyRegistry and nonReentrant, and pays only treasury and to. There is no gas refund to the caller.
  • In FeesRegistry.sol: bind accepts an attester signature only for an unbound identity. changeWallet requires the currently registered wallet to send the transaction.
  • MAX_PLATFORM_FEE_BPS = 1000 limits the platform fee to 10%. There is no refund setting that the owner can increase.
  • The attester, and the owner who can replace it, remain trusted for first bindings. Neither can overwrite an existing payout wallet.
  • There is no selfdestruct, no delegatecall to an owner-chosen address, and no upgrade path.
Pons' escrow and launch contracts are external dependencies. Inspect their deployed sources and permissions too; verifying fees.sh does not audit those dependencies.
PreviousContractsNextRisks and FAQ
On this page
  • 1. Read the source
  • 2. Match it to the chain
  • 3. Reproduce the bytecode
  • What to look for