On September 9, traders routing orders through Pons — a token launchpad deployed on Uniswap V4 — began reporting transaction costs above the 1% hook fee the platform had publicly committed to. Not on abandoned pairs. On the platform's own freshly launched assets. Within hours, founder Ozzy issued a statement: the pools were configured at 0% swap tax plus a 1% hook fee, and any higher figure appearing in a wallet or aggregator was the artifact of a routing error, not a parameter change.

That claim is defensible. It is also unverifiable from the screen the user is staring at. The distance between what a V4 pool is and what a terminal shows — that distance is the story.
The Context
Pons occupies a narrow niche. It is not a Layer 1, not a rollup, not a consensus innovation. It is an application-layer token launchpad whose entire differentiation rests on Uniswap V4's hooks — programmable contracts that execute around pool operations, enabling custom fee logic, dynamic curves, and, critically here, additional charges layered on top of the base swap fee.
This is where the architecture starts to bite. A V4 pool's total cost to a user is not a single number. It is a sum: the pool's swap fee (set at creation) plus any hook surcharges (the 1% Pons collects) plus gas. If the pool carries a non-zero swap fee — even 0.3% — the user's real cost is 1.3%, not 1%. The interface may display one component, or none of them correctly.
Competitors took different integration paths. pump.fun on Solana controls its own front end, its own trading page, its own presentation of fees. Pons took the open path: create pools on Uniswap V4, let external terminals discover and route to them. That choice buys liquidity depth and composability. It also surrenders control of the one thing users actually perceive — the number next to the swap button.
The launchpad sector is crowded and unforgiving. pump.fun owns the Solana mindshare. SunPump leans on Tron's retail flow. four.meme and MakeNow.Meme contest BSC and Ethereum respectively. In a market where migrating from one launchpad to another costs a user roughly nothing, fee perception is not a cosmetic issue. It is the product.
The Core
The controversy has a falsifiable core. Ozzy's explanation — "routing error" — is a testable hypothesis. If correct, elevated fees resolve as terminals patch their V4 hook parsing. If incorrect, they persist. A clean check exists: pull the pool address, read the hook contract, sum the fee parameters. That is static analysis, and it requires trusting no one.
The fact that this step was not performed publicly before the statement went out is itself informative. Founder statements are cheap. Contract calls are not. The proof is in the logic, not the promise.

Here my own audit history becomes relevant. In 2020, I scripted Yearn Finance's vault rebalancing logic against historical liquidity depth and found its optimizer assumed constant depth — an assumption that failed exactly when withdrawals were large. The code was elegant. The assumption was false. I reported it, received a minor credit, and watched my own position draw down 15% because I had separated the intellectual exercise from operational reality.
Uniswap V4 hooks reproduce that same separation at the infrastructure layer. The hook contract can be perfectly correct. The pool can be exactly 1%. And the user can still pay 1.5%, because the routing layer — the aggregator, the wallet, the terminal — makes independent decisions about which pool to touch. The protocol's correctness and the user's experience are not the same object. They never were.

Consider the fee stack concretely. The source confirms a 0% pool tax and a 1% hook fee. It does not disclose the pool's swap fee. That omission matters, because a V4 pool's displayed cost is a function of parameters that different terminals parse differently. A user's theoretical floor is 1%. Anything above that arrives from one of three places: a non-zero swap fee the pool itself carries, a mis-route to a different pool, or a terminal rendering the hook fee twice.
If the excess flowed to a mis-routed pool, it did not flow to Pons. It flowed to whoever operates that pool. That makes this a double loss for the platform: Pons absorbs the reputational damage and captures none of the incremental revenue. Assume malice, verify everything, trust nothing — and here, malice would not even be profitable for Pons, which is the strongest structural argument in its favor.
The source material also references liquidity "vamping" — adversarial actors creating lookalike tokens in high-tax pools to divert flow. If such pools exist and terminals route into them, the attacker captures the spread. This is not a hack. It is arbitrage against bad routing, and it will persist as long as routing is imperfect. It is the kind of vector that a worst-case model should flag on day one, not after users complain.
Then there is governance — and this is where the statement is thinnest. Uniswap V4 hook contracts can carry an owner or admin role. Nothing in Pons's response denies that such a role exists. Ozzy denied using the capability to change fees after launch. He did not deny having it. Those are different claims, and the market conflated them within a single news cycle.
The relevant question is not "did Pons change the fee." It is "can Pons change the fee, under what conditions, and is that answerable from on-chain data?" A published admin address, a timelock, a multisig threshold — any one of these would close the gap between statement and verification. The source material contains none. That absence is the finding. Ownership is a ledger entry, not a feeling, and the ledger here was left blank.
One more layer deserves scrutiny. The statement claims fees are "clearly disclosed in all transactions." That phrasing is a compliance posture as much as a technical one — it anticipates a disclosure question before regulators ask it. But a disclosure that lives inside a terminal's rendering logic is only as good as the terminal. If the interface is wrong, the disclosure is wrong, regardless of what the contract says. Complexity is the camouflage for incompetence — and multi-layer fee display across heterogeneous terminals is exactly the complexity that hides the truth from the retail user.
The Contrarian Angle
Now the part the skeptics will not enjoy.
First, the routing explanation is plausible on its merits. V4 hook fee display is genuinely new and genuinely uneven across terminals. Smaller aggregators with shallow V4 support are more likely to mis-parse than large ones. That is a real technical explanation, not a marketing evasion dressed as one.
Second, the affected cohort is probably small. If the errors cluster in long-tail terminals rather than Uniswap's own interface or the major routers, most users never saw the anomaly. The controversy may be loud precisely because it is narrow — a handful of screenshots amplified into a narrative.
Third, Pons's incentive structure cuts against the accusation. A platform that silently raises fees trades a one-time gain for permanent user exodus in a market where migration costs are near zero. Incompetence in routing integration is far more plausible than malice in fee policy. The bulls are right that the simple villain story does not survive contact with incentives. Yields are just risk wearing a tuxedo, and here the risk was a display bug, not a rug.
The Takeaway
The forward-looking question is not whether Pons lied. It is whether anyone — Pons, Uniswap, or the terminals — will publish the fee-parameter standard that makes the question answerable without a founder's statement. Until a user can read a pool's total cost directly from an address, every launchpad on V4 inherits this exact controversy. The vulnerability was always theoretical. The next one will not be.