Stock Tips
Anyone can open a coin for any X handle on Robinhood Chain. The coin's creator fees do not go to whoever opened it, they go into a jar that belongs to the handle, and the jar keeps buying NVDA until the handle comes to take it
What it is
Two contracts and one idea. The factory opens Pons coins named after X handles. Each handle gets a jar, and the jar is set as the Pons creator fee recipient of every coin that was ever opened for that handle
Nobody has to trust the person who opened the coin. They pay the Pons launch fee and gas, and that is the whole of their involvement: the fee stream is pointed at the jar in the same transaction that creates the coin, and there is no function anywhere that redirects it
The coin
One call, openCoin, with the handle, a name, a ticker, a logo and a description. It costs exactly the Pons launch fee, currently 0.0005 ETH, plus gas
openCoin("vladtenev", "Vlad Tips", "VLAD", logo, description)
├── jar of vladtenev created the first time, reused after that
├── Pons launch creator fee recipient = the jar
├── creator tax 3%, fixed in the contract, nobody can change it
└── socials.twitter https://x.com/vladtenev
The 3% creator tax and Pons' own 1% curve fee both end up with the creator, which here means the jar: Pons keeps 30% of the curve fee and passes the other 70% on. On 1 ETH of trading that is about 0.037 ETH into the jar
A handle can have any number of coins. They all feed the same jar, so a second coin does not split anything
The jar
One jar per handle, deployed as a minimal clone the first time anyone opens a coin for that handle. Its address is derived from nothing secret, and the site reaches it at /@handle
There is no owner on a jar, no upgrade, no proxy admin and no rescue call. The only address that can ever receive from it is the wallet the handle bound, and the only other outflows are the burner's 15% and the NVDA purchase itself
Harvest
Fees do not walk to the jar on their own. Pons holds them on the curve until the deployer sweeps, and holds them in its escrow until the recipient claims. Both steps are open to anyone here
sweepAndHarvest([token, token, …]) ├── 1 jar sweeps its curve curve fee + creator tax → Pons escrow ├── 2 jar claims the escrow → the jar's own balance ├── 3 15% to the burner → bought and burned as $STIPS ├── 4 the rest buys NVDA Uniswap V3 WETH/NVDA, minOut from Chainlink └── 5 if the jar is claimed everything is sent to the handle's wallet
The button on the site does exactly this call, and so does the keeper that runs every half hour. The keeper is a convenience, not a dependency: it holds no permission the page does not also give you
Claiming
Proving a handle without the X API. The handle publishes a post containing a one hour code and the full wallet address, the site reads that post back through fxtwitter, and the oracle signs the pair of them
claim ├── code the site issues a code tied to handle + wallet, valid one hour ├── post the handle publishes it, the post must be under two hours old ├── verify author, code and wallet are checked, then the oracle signs ├── bind the signature starts a 48 hour wait, on chain ├── wait the guardian or the current wallet can cancel during it └── confirm after 48 hours the wallet is set and payout is open
The wait is the point. A signature alone cannot take a jar: if the oracle key ever leaked, every attempt it signed would sit in public for two days before it could receive anything, and either the guardian or the handle can cancel it
Once confirmed, the wallet keeps receiving: every later harvest pays out in the same transaction, and anyone can call payout to push what is already there
Changing the wallet later uses the same route, code, post, 48 hours, and the wallet in place can cancel a binding it did not start
$STIPS
The jars keep 85%. The other 15% of every harvest goes to one burner contract, which buys $STIPS and sends it to the dead address. The share is enforced by the jar, not promised in a post
$STIPS has no tax of its own and no privileges inside the protocol. It is what the fee share buys, nothing else
The guardian
One role exists, and what it cannot do matters more than what it can
Pausing stops new coins from being opened. Jars keep harvesting and paying out through a pause, because neither call goes through the factory
Addresses
FAQ
Someone opened a coin for me, what now
Nothing, unless you want it. The jar fills whether or not you ever appear. When you do, open /@yourhandle, get a code, post it and wait two days
Can the opener take the fees
No. The fee recipient is set to the jar in the launch transaction and there is no call to change it, for them, for the guardian or for anyone else
Why NVDA and not ETH
Because a tip jar that sits in ETH is a bet on ETH. NVDA is a real stock token on this chain with a Chainlink feed, so the purchase can be price checked on chain
What if a coin graduates to Uniswap
Sweeping stops, since there is no curve left, but the escrow claim and everything after it keeps working
What if nobody runs the keeper
Then you run it. Sweep and harvest are open calls and the button on any jar page does them from your own wallet
Can I get my launch fee back
No. It goes to Pons, not to us, and opening a coin for a handle is a gift to that handle by design