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

Custody and security

Where money sits, protections, and trusted roles.

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.

Where the money sits

Unclaimed fees sit in contracts. The replacement registry trusts the attester for the first payout-wallet binding; later changes belong to that wallet. The path is:

  1. Pons Fee Escrow, a Pons contract, holds the creator share, credited to one specific address.
  2. That address is a fee vault: a tiny contract fees.sh creates for the launch. It has no owner or private key. It pays the registered wallet and the configured platform fee to the treasury.
  3. The registry contract keeps the list of which wallet belongs to which X or GitHub account, and is the only thing allowed to tell a vault to pay out.

On-chain protections and limits

  • Restricted payouts. Read FeeVault.sol: only the registry can call its payout functions. Native and ERC-20 payouts have a reentrancy guard and pay only the bound wallet and treasury. There is no caller gas reimbursement.
  • Your wallet is yours. The wallet created at sign-in is a Privy embedded wallet. Privy holds part of the key in secure hardware; your device holds the rest. fees.sh never sees it. You can export the whole key from your profile at any time.
  • First binding trusts the attester. Our server checks OAuth ownership before signing. The contract checks the signature, nonce, and deadline; it cannot independently verify an OAuth login. A compromised attester can misbind an identity that has not yet been registered.
  • Wallet-controlled changes. Once bound, neither the attester nor owner can overwrite the payout wallet. Only the current wallet can call changeWallet. Losing that wallet's key can therefore prevent recovery of future fees.
  • Platform fee limit. The platform fee is capped at 10% and initially set to 2%. The transaction sender pays gas separately.
  • Inspect the source. Check the configured address and verification status on Blockscout. See Verify the code yourself.

What the server can do

The server verifies linked accounts and signs first-time identity bindings. Your connected wallet submits the claim and pays gas; the server does not submit it. If the server disappears, anyone can still submit claims for already-bound identities. New identities still need the attester; existing wallet changes require the current payout wallet.

What the contract owner can do

The owner can replace the attester for future first bindings, change the treasury, and set the platform fee up to 10%. It cannot overwrite an existing binding or enable caller gas reimbursements. There is no explicit pause function, but a treasury that rejects ETH can block native claims with a nonzero platform fee. Those transactions revert without moving the fees.

Verified source is not a security guarantee. Review the first-binding trust assumption, owner permissions, and external Pons dependencies before relying on this deployment.
PreviousFees, exactlyNextContracts
On this page
  • Where the money sits
  • On-chain protections and limits
  • What the server can do
  • What the contract owner can do