Launch

Launch runbook

The order of operations for putting $BSTR on mainnet. Every step that spends real ETH gets a dry run first.

Before you start

  • A deployer wallet holding a little ETH on Robinhood Chain for gas, plus the 0.0005 ETH Pons launch fee.
  • An owner for both contracts. A Safe multisig is the right answer; Safe is live on Robinhood Chain.
  • An operations wallet for the 1% share. The owner can change it later.
  • The final token name, symbol, logo URL, description and social links.

The steps

  1. 1. Rehearse on a fork

    contracts/script/e2e-local.sh runs the whole flow on a local fork of mainnet: deploy, launch on the real Pons, trade, harvest, log a box.

  2. 2. Deploy the contracts

    Dry run script/Deploy.s.sol, then add --broadcast. Addresses land in contracts/deployments/4663.json.

  3. 3. Verify the source

    Verify both on Blockscout so the Proof page links to readable code.

  4. 4. Launch on Pons

    Launch $BSTR from the team wallet in the Pons app with a 2% creator tax. If the form asks for a creator fee recipient, paste the router. Otherwise the launching wallet calls transferCreatorFeeRecipient(token, router) on the Pons factory straight after launch; fees already waiting on the curve move with it. (script/Launch.s.sol does the same launch from a terminal with the router named from the start.)

  5. 5. Bind and check

    The owner calls bindToken. Then confirm the factory names the router as the recipient (see Check it yourself, step 1).

  6. 6. Switch the site on

    Set NEXT_PUBLIC_TOKEN_ADDRESS, NEXT_PUBLIC_ROUTER_ADDRESS, NEXT_PUBLIC_RESERVE_ADDRESS and RPC_URL in Vercel and redeploy.

  7. 7. Announce

    Post the contract address on the site and on X at the same moment, and nowhere else first.

After launch

  • Call harvest() whenever fees build up. Anyone can.
  • When the war chest completes a course, buy the target and log it the same day.
  • Film the milestones: the first box, the ten-box wall, the van.