Build on pons2.

A pad is a fee splitter plus a salt tag on Pons V2.

Quick start

Install the SDK and create a pad in one signature.

start.ts
1npm i @pons2/sdk viem
2
3import { pons2 } from "@pons2/sdk"
4const pad = await pons2.createPad({
5 name: "waterbears", pairToken: ETH,
6 padOwnerBps: 3000,
7})
  1. pairTokenETH or a stock token
  2. padOwnerBpsyour 30%

Launch a coin on your pad

Every coin is a plain Pons V2 launchToken call with your splitter and salt.

launch.ts
1await wallet.writeContract({
2 address: PONS_V2_FACTORY,
3 functionName: "launchToken",
4 args: [{ name, symbol, logo, socials,
5 creatorFeeRecipient: pad.splitter,
6 creatorTaxBps: 150,
7 buybackEnabled: false,
8 salt: pad.salt() }, 0n, ETH],
9 value: parseEther("0.0005"),
10})
  1. creatorFeeRecipientthe pad splitter
  2. creatorTaxBps1.5% per trade
  3. buybackEnabledon = locks 5 years
  4. salttags it as your pad
  5. valuethe launch fee

Fees

A 1% curve fee on every trade, 70% to the creator side, plus the creator tax. Your cut comes from the creator side.

fees
1// per $100, tax 150 bps, cut 3000 bps
2curveFee = 1.00
3creatorSide = 0.70 + 1.50 // 2.20
4padOwner = 2.20 * 0.30 // 0.66
5coinMaker = 2.20 - 0.66 // 1.54
  1. padOwnerwhat you earn

Buyback

Pons buyback is not a burn. Half the creator share buys the coin and locks it in the BuybackVault on a five year linear vest.

buyback.ts
1buybackEnabled: true
2// vault 0x42df…219c, 5 year linear vest
3// only the Pons operator can sweep fees
  1. buybackEnabledopt in per coin

Read your pad

Launches are tagged by the salt, so a pad is provable from the chain alone.

read.ts
1const logs = await client.getContractEvents({
2 address: PONS_V2_FACTORY,
3 eventName: "TokenLaunched",
4})
5const mine = logs.filter(l => pad.owns(l))
  1. TokenLaunchedthe factory event

Contracts

Pons V2 factory0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e
ChainRobinhood Chain · 4663
Launch fee0.0005 ETH
Graduation4.2 ETH · 41.6 NVDA · 26 TSLA · 24.2 AAPL