How it works
Every trade pays a fee. The fees buy PONS. When PONS is up 20%, it sells automatically and buys PSTR instead, and what it buys is kept for stakers.
Every step is on-chain and anyone can verify it.
01 The loop
02 The fee
Our token trades in a Uniswap V4 pool. A hook sits on that pool and takes a cut of each swap in ETH.
The token itself is a plain ERC20 with no transfer tax. Sending it wallet-to-wallet is free. Only swaps pay, and the fee is taken by the pool, not by the token contract. Nothing in the token can block, tax, or freeze a transfer.
The fee starts high and falls
For the first 44 minutes after launch, the fee decays continuously.
| Time | Buy | Sell |
|---|---|---|
| 0 min | 17.0% | 20.0% |
| 11 min | 14.0% | 16.25% |
| 22 min | 11.0% | 12.5% |
| 33 min | 8.0% | 8.75% |
| 44 min onward | 5.0% | 5.0% |
The rate can never rise. Nobody gets surprised mid-hold.
No switch to flip, no transaction to send, no admin action to end the phase. Anyone can compute their exact fee at any future moment from the deployed constants.
The reason for the early window is simple: launch is when volume is highest, and that is when the treasury gets funded. The strategy needs capital before it can do anything.
Where the fee goes
- 1% of every trade to marketing, flat, in both phases.
- Everything else to the strategy treasury.
At steady state that's 4% of each trade into the treasury.
03 The treasury
ETH accumulates in the strategy contract. When it reaches 0.5 ETH, a new position can be opened.
| Phase | Volume per position |
|---|---|
| Launch | ~$4,900 |
| Steady | ~$23,500 |
The function that opens a position is permissionless, so anyone can call it. It only succeeds if the treasury actually holds enough. There is no privileged trigger and no waiting on anyone.
04 Buying the target
The treasury buys PONS on its Uniswap V3 pool, with a slippage cap on the purchase.
At the moment of the buy the contract reads the pool's live price and records it. That recorded entry price is what the sell target is measured against. Not an average, not an oracle, not an off-chain number.
05 The sell order
This is the piece most people will ask about, so it's worth explaining properly.
The protocol does not watch the price and sell when it hits a number. That approach needs a price feed, and price feeds can be manipulated. Someone could fake a spike, trigger the sell, and buy the tokens cheap.
Instead it places a resting sell order directly into the pool, using concentrated liquidity. The order sits at a price exactly 20% above entry. If the market reaches that price, the order fills automatically as part of normal trading. If it doesn't, the order just waits.
Not because of a check in the code, but because of how the order is constructed. Selling lower is not an available outcome.
Nothing to manipulate, nothing to spoof, no oracle dependency.
There is no function that says "sell now." The market either reaches the price or it doesn't.
If someone moves the market to fill our order, they've paid our asking price. That's the outcome we wanted.
Every position is independent, with its own entry price, its own target and its own order. They stack into a ladder. If the price drops, the next position simply enters lower and sets its own target from there. One position waiting does not block another from filling.
06 The buyback
When an order fills, the position has converted to ETH. From there:
- The ETH is collected.
- It buys our token on our own pool.
- Those tokens are held by the protocol.
The tokens are not burned. They are kept, and they are what will fund staking rewards.
The buyback pays the same trading fee as everyone else. The protocol buying its own token is a normal market buy on the open pool, with no special path and no exemption.
07 Staking
Coming after launch
Stake the token, earn from what the protocol has accumulated through buybacks.
The APY is not a fixed number and will never be presented as one. Rewards are distributed pro-rata: your share is your stake divided by total staked, continuously. Rewards are released over a rolling window rather than all at once, so it isn't possible to stake right before a buyback, take a slice, and leave.
The displayed APY is calculated live from actual reward flow. It moves with real protocol performance. It is a measurement, not a promise.
08 What's actually been verified
Before any of this went live, the mechanism was tested against real on-chain state.
09 Frequently asked
Is the token taxed?
No. It's a plain ERC20 with no transfer logic. Wallet-to-wallet transfers are free. Fees are charged by the pool on swaps only.
Can the fee go back up?
No. It decays over 44 minutes to 5/5 and stays there. The schedule is a fixed function of time in a contract that cannot be replaced.
Who decides when to buy or sell?
Nobody. Buying is permissionless and gated on the treasury balance. Selling is a resting order that the market fills. There is no discretionary decision anywhere in the loop.
What if the price never reaches +20%?
That position waits. It doesn't sell at a loss and it doesn't block anything else. New positions keep opening at new prices.
Why hold the bought-back tokens instead of burning them?
They fund staking rewards. Burning removes them; holding directs them to people who stake.
Can I trigger it myself?
Yes. Opening a position and harvesting a filled one are both open to anyone. The contract enforces the conditions, so calling them early simply fails. You'd pay the gas.
10 Contracts
Robinhood Chain · chainId 4663. Addresses appear here once deployed.
| Contract | Address |
|---|---|
| PSTR token | Not deployed yet |
| PONS target token | Not deployed yet |
| FeeHook | Not deployed yet |
| Strategy | Not deployed yet |
| PONS pool | Not deployed yet |