Events

Pons, Uniswap V4, and the Routing Tax That Wasn't: A Forensic Note on Pool Identity

WooFox
Hook: The Receipt That Said More Than 1% On September 9, Pons founder Ozzy made a statement that should have been boring. The tax rate on in-platform token issuance cannot be adjusted after launch, he said. Any anomalies users saw were due to terminal routing issues. In a normal market, that is a technical clarification. In a bear market, it is a confession that the user's cost is not fully controlled by the project. That is worse. I have audited ERC-20 contracts since 2017. In early 2017, I found an integer overflow in GlobalCoin before its ICO. It saved roughly $2 million in potential user funds. I got a 0.5 BTC bonus and converted it to USD immediately because I did not trust volatility. The lesson was not that code is law. The lesson was that code is law only if it is flawless. Since then, I treat every fee disclosure as a claim to be verified, not a promise to be believed. Pons is a DeFi token project built around a Uniswap V4 liquidity pool. The official pool advertises 0% transaction tax plus a 1% Hook fee. Users on some trading terminals saw fees above 1%. They concluded the project changed the tax after issuance. The founder said no. The terminals misrouted. A malicious actor tried to vamp the pools. That is the summary. The details are more interesting. Context: What Pons Actually Deployed Pons is not a Layer 1. It is not a Layer 2. It is an application-layer token project using Uniswap V4 as its liquidity infrastructure. V4 is the latest version of the Uniswap protocol. Its main new primitive is the hook. A hook is a contract that executes custom logic at key points in a pool's lifecycle. Before a swap. After a swap. Before adding liquidity. After removing liquidity. Hooks let a pool do things that V3 pools could not do natively. Pons used that mechanism to set a fee structure: 0% transaction tax and a 1% Hook fee. The parameters were disclosed, according to the project. The official pool is the one Pons deployed. It is the one the founder calls the official pool. The 1% Hook fee is not a tax in the token contract. It is a fee collected by the hook logic during swaps. That distinction matters because users and terminals often collapse all costs into one number: tax. A third-party trading terminal is a front end or aggregator. It finds a route for your swap. It may split your order across multiple pools. It may choose a path based on price, slippage, and gas. It does not always verify whether the pool is the official pool. That is the core issue. If a token has multiple pools with the same token pair but different hook contracts and different fees, the terminal may route through the wrong one. The user sees a higher cost. The user calls it a tax. The project calls it a routing error. Both are describing the same number from different sides of the interface. The malicious actor angle adds another layer. Ozzy said a malicious actor tried to 'vamp' some liquidity pools, causing some terminals to display higher tax rates. In DeFi, 'vamp' usually means a vampire attack. That is when a new protocol incentivizes users to migrate liquidity from an incumbent. But here the word is used alongside routing anomalies and higher displayed taxes. The more likely pattern is a lookalike pool. An attacker deploys a pool for the same token pair with a higher fee or a malicious hook. The terminal indexes it. The router treats it as a valid path. Users get a worse fill. The official pool never changed. The attacker captured the spread. I saw a similar class of failure in 2020. During DeFi Summer, I ran $50,000 of personal capital into Compound and Uniswap pools. I wrote Python scripts to rebalance. I captured 340% APY at the peak. Net profit was $120,000. But a single gas spike cost me $3,000. That was not a protocol hack. It was an execution cost that my dashboard had not modeled correctly. The lesson: gross APY is marketing. Net P&L is truth. Pons users are learning the same lesson with routing. The advertised fee is not the realized fee. The realized fee is what the router chose. Core: The Pool Key Is the Only Identity That Matters To understand the Pons controversy, you need to understand how Uniswap V4 identifies a pool. In V3, a pool is identified by two tokens and a fee tier. The factory address plus token addresses plus fee tier is enough to find the canonical pool. In V4, a pool is identified by a PoolKey. That key includes the two currencies, the fee, the tick spacing, and the hook contract address. The hook address is part of the identity. That is new. That is powerful. That is also a UX and security problem. If a terminal only knows the token address, it does not know which V4 pool is official. It must discover pools. It may use an indexer. It may use a subgraph. It may use a router that searches for the best price. If it does not know the official hook address, it cannot distinguish between a legitimate pool and a lookalike pool. Both may contain the same token. Both may be valid for the Uniswap protocol. Only one is official. The protocol does not have a global 'official' flag. That is not Uniswap's job. But someone must do it. This is the missing pool identity layer. Think of DNS without DNSSEC. You can resolve a domain name. You cannot always verify that the answer came from the real authority. In DeFi, token lists solved part of this problem at the token level. Uniswap has a default token list. CoinGecko has token pages. But pool-level identity is still fragmented. There is no standard, widely adopted, on-chain registry that says: this PoolKey is the official Pons pool, signed by the deployer. There is no standard way for a terminal to check the hook bytecode against a verified implementation. There is no standard way to display 'official pool' versus 'third-party pool' in the swap UI. That gap is what Pons collided with. The numbers are simple. The official pool has a 1% Hook fee. That means a $10,000 swap pays roughly $100 in hook fees. A round trip—buy and sell—costs roughly 2%, or $200 on $10,000, before gas and slippage. That is not small. It is higher than many centralized exchange taker fees. It is higher than typical V3 pool fees of 0.05% to 0.30%. If a lookalike pool charges 5%, the same $10,000 swap pays $500. If the terminal does not label the difference, the user experiences that as a tax change. The founder experiences it as a routing error. The attacker experiences it as revenue. Now consider the token contract itself. Pons says the tax rate on in-platform token issuance cannot be adjusted. That is a statement about the token contract or the issuance mechanism. But the founder's own conditional language is revealing. If users see above 1%, it is likely because the trade was routed to the wrong pool, unless the token deployer set a higher tax at issuance. That 'unless' implies a tax parameter exists somewhere. It may be locked. It may be immutable. It may be set to zero. But the existence of a conditional means the contract should be inspected. I have not seen the Pons token contract. I have not seen an audit. I have not seen the hook contract. That is not an accusation. It is a gap. In 2017, I learned that unaudited code is a hypothesis. In 2022, I watched TerraUSD collapse because the seigniorage model assumed a stability that could not hold under reflexive selling. I exited 48 hours before the worst of it and preserved $80,000. I did not exit because I was smarter than the market. I exited because I had read the minting mechanism and seen that the arbitrage loop had a fatal dependency. The same forensic approach applies here. The Pons controversy is not a price chart. It is a mechanism question. Which pool did the transaction use? What hook contract executed? What fee did the hook assess? Where did the fee go? If those questions cannot be answered from the receipt, the trust problem is not solved by a founder's tweet. The fee flow is another open variable. Pons says the official pool has a 1% Hook fee. Who receives that 1%? The project treasury? The hook deployer? The liquidity providers? If the fee goes to the project, the token has a revenue model. If the fee goes to LPs, the project has a liquidity incentive. If the fee goes nowhere useful, it is a tax on users for no value. The answer changes the economic case. In 2024, I worked with a Singapore wealth management firm to design a compliant DeFi yield strategy for high-net-worth clients. We integrated Aave V3 with a legal wrapper and KYC/AML controls. The strategy managed $2 million and returned about 12% annualized. The first question from the compliance team was never 'what is the APY?' It was 'where does the yield come from?' The same question applies to Pons. A 1% hook fee is only defensible if the recipient adds measurable value. Liquidity depth is the next casualty. A 1% fee on every swap is a tax on market makers. A market maker who provides liquidity in the official pool earns fees, but if the hook fee goes to the project, the LP may earn little or nothing from the swap. Meanwhile, the LP still takes inventory risk. That makes the official pool less attractive than a pool with lower fees. If liquidity is thin, slippage rises. Then the terminal routes more volume to other pools. Then the official pool becomes even less relevant. That is a negative feedback loop. It does not require malice. It is just incentives. The malicious 'vamp' attempt fits into this loop. An attacker can create a pool with a higher fee, seed it with some liquidity, and wait for routers to include it. If the attacker can make the pool look legitimate to an indexer, they can capture order flow. This is not a smart contract exploit. It is a market structure exploit. The attacker does not need to break Uniswap V4. They need to break the terminal's trust model. That is cheaper. A Forensic Walkthrough of a Misrouted Swap Step one: a user opens a trading terminal and selects Pons. Step two: the terminal queries routes for Pons to USDC. Step three: the router discovers multiple pools. One is the official Pons pool with hook A and a 1% fee. One is a lookalike pool with hook B and a 5% fee. One may be a V3 pool with a 0.3% fee but less liquidity. Step four: the router picks the path that looks best on price and slippage. If the lookalike pool has deeper reserves or a temporarily mispriced quote, it may win. Step five: the swap executes through hook B. The hook assesses 5%. Step six: the user sees a 5% cost and calls it a tax. The UI may label it as a fee. The receipt may show only the total. Step seven: the founder says the official pool is 1%. The user says the project changed the tax. Both statements can be true. The user experienced a 5% cost. The official pool charged 1%. The terminal routed to the wrong pool. The attacker collected the difference. The failure is not in the swap. The failure is in the discovery and labeling layer. This is why I keep saying the PoolKey is the identity. If the terminal does not display the PoolKey, the user cannot know which pool they used. If the user cannot know, the founder's denial is unverifiable. Unverifiable trust is not trust. It is exposure. This is where the V4 ecosystem is still immature. V3 had multiple fee tiers, and terminals learned to display them. V4 has arbitrary hooks. The parameter space is much larger. A hook can change fees dynamically. It can take fees in one token. It can take fees on both sides. It can add MEV capture logic. It can do things that are not obvious from the pool's top-level fee number. A terminal that only reads the fee field may misrepresent the true cost. A terminal that only reads the token address may route to the wrong pool. A terminal that does not verify the hook address may route to a clone. These are not theoretical edge cases. They are the direct consequence of programmable pools. The Pons incident is therefore a signal event for Uniswap V4. It shows that the protocol's flexibility has outrun the tooling. The protocol can express many pool configurations. The market cannot yet verify them at a glance. That is the gap. The fix is not to remove hooks. The fix is to build an identity and verification layer. That could be an on-chain registry. It could be a signed pool metadata standard. It could be a terminal-side whitelist backed by deployer signatures. It could be a block explorer that shows 'official pool' with a verified badge. Until that exists, every V4 project with a custom hook faces the same trust tax. The Arithmetic of a 1% Hook Fee Let us be precise. A 1% Hook fee on a $10,000 swap is $100. On a $100,000 swap, it is $1,000. A round trip costs 2%. If a market maker quotes a 10 basis point spread, a 1% fee is ten times their edge. They will not provide liquidity in that pool unless they are compensated elsewhere. They will migrate to a pool with lower fees or to a centralized exchange. The official pool becomes a ghost town. The terminal then routes around it. The token's on-chain liquidity fragments. The price impact of large orders rises. This is how a fee structure can kill its own liquidity. Compare V3. A 0.05% pool charges $5 per $10,000. A 0.30% pool charges $30. A 1% pool charges $100. That is twenty times the low tier. If Pons wants volume, it must justify that premium. If it cannot, the fee is a loyalty tax. In a bear market, loyalty is expensive. Users are already down. They will not pay 1% for the privilege of being routed incorrectly. What the Founder's Statement Actually Says The statement contains three claims. First, the tax rate on in-platform token issuance cannot be adjusted. That is a claim about one parameter. It is not a claim that all fees are fixed. It is not a claim that the hook is immutable. It is not a claim that the terminal is correct. Second, the anomalies are due to terminal routing issues. That is a claim about third parties. It shifts responsibility from the project to the infrastructure. Third, a malicious actor tried to vamp the pools. That is a claim about an adversary. It explains the anomaly as an attack, not an internal change. None of these claims are verified by the statement. They are verified by bytecode and transaction traces. The hook contract will show whether the fee is static or adjustable. The token contract will show whether transfer taxes exist. The transaction trace will show which pool was used and which hook executed. The statement is a starting point. Code does not care about your narrative. It only executes what it was written to execute. There is also the conditional: 'unless the token deployer set a higher tax at issuance.' That is a tell. It means a tax parameter exists. It may be locked at zero. It may be immutable. But it exists. In 2017, I audited dozens of ERC-20s with owner-only mint functions and hidden fee switches. The ones that survived had no owner and no switch. Pons may be clean. Without an audit, it is a hypothesis. In a bear market, hypotheses are expensive. The Terminal Trust Model Terminals optimize for price, not authenticity. They are not neutral. They may have incentives to list pools. Some aggregate everything. Some curate. The user does not know which. In V4, routing complexity increases. Terminals need to simulate hook behavior to know the true cost. That is expensive. It requires indexing hook contracts, decoding their logic, and modeling dynamic fees. Most terminals do not do this yet. They approximate. When they approximate, they can misroute. The Pons incident is a public example of that gap. It also exposes a liability problem. If a terminal routes a user to a pool with a 5% fee and the user believed the fee was 1%, the terminal caused an economic loss. In traditional finance, that is a suitability issue. In DeFi, it is a UX bug. The fix is not just technical. It is reputational. Terminals that label pools correctly will win trust. Terminals that do not will lose users. That is the market signal. The Governance and Audit Gap Pons has one named founder and chief developer. That is centralization. It is not necessarily bad. Early projects often start that way. But it is a single point of failure. If the founder is the only one who can deploy contracts, the project depends on his keys. If there is no timelock, parameter changes can be fast. If there is no multisig, a compromised key can drain value. The tax controversy touches exactly this nerve. Users are asking whether the project can change core parameters after launch. The answer is not just a sentence. It is a governance architecture. There is also no audit mentioned. No GitHub. No bug bounty. No formal verification. In 2017, I spent twelve hours a day manually auditing ERC-20s. The ones that died had unaudited code and hidden owner privileges. The ones that survived had simple, immutable logic. Pons may have that. But the market cannot see it. In a trust crisis, opacity is a negative. It does not matter what the truth is if the truth cannot be verified. Regulatory and Compliance Externalities If fees can be adjusted post-issuance, it strengthens securities law arguments. Control by the issuer implies a common enterprise. It implies that token holders depend on the issuer's efforts. Pons denies adjustability, which reduces that risk. But the denial is not a legal opinion. It is a statement. Institutional money will ask for more. In 2024, my wealth management clients asked about KYC/AML and legal wrappers before they asked about yield. They would not touch a pool with ambiguous fee routing. A 1% fee is acceptable if it is disclosed and fixed. It is not acceptable if it is unpredictable. Misleading fee display could also be a consumer protection issue in the EU or UK. If a user agrees to a 1% fee and pays 5%, that is a disclosure failure. The terminal may be liable. The project may be liable if it promoted the pool. DeFi is global and enforcement is hard. But the direction of travel is clear. The more institutional capital enters, the more fee transparency matters. Pons is a small case. The precedent is large. Market Structure in a Bear Market Bear markets amplify trust issues. Users are already underwater. A 1% unexpected fee is not a rounding error. It is a trigger. Liquidity is scarce. Every pool competes for the same LPs. V4 hooks fragment liquidity further. This is not scaling. It is slicing. The Pons event is a microcosm of a macro problem: too many pools, too few users, and not enough identity infrastructure. When liquidity is fragmented, routing becomes political. Terminals decide which pools to include. Projects lobby for inclusion. Attackers create lookalikes. Users see a number and guess. That is not a market. It is a maze. In a bull market, the maze is tolerated because everyone is making money. In a bear market, the maze is fatal because nobody can afford mistakes. Competitive Landscape: Why V3 Pools Still Win V3 pools are simple. Fees are visible. Routing is well understood. V4 hooks add features but also add trust overhead. For most tokens, V3 is still the better UX. V4 wins only when the hook provides a clear, verifiable benefit. Pons' hook provides a fee. That is not enough. If Pons wants to win, it should make the hook do something users want: buybacks, liquidity incentives, MEV rebates. Otherwise, the hook is just a toll booth. The cost-benefit matrix is clear. For Pons, the benefit of a 1% hook fee is revenue. The cost is routing ambiguity and liquidity fragmentation. For terminals, the benefit of listing more pools is more volume. The cost is user confusion and reputational risk. For users, the benefit of a lower advertised tax is psychological. The cost is a realized fee that they may not understand. The only party with a clear win is the attacker. They get paid when the routing fails. That is why this is not just a Pons problem. It is a DeFi UX problem with a P&L consequence. What Would Make This Bullish An official PoolKey published and signed. Terminal integration that labels official and third-party pools. An audit of the hook and token contracts. Fee flow transparency: who gets the 1% and why. A reduction in the hook fee to a level that attracts market makers. An on-chain registry for V4 pools that any terminal can query. Until then, treat Pons as a case study, not a trade. The market does not need another founder denial. It needs a verifiable pool identity. Contrarian: Retail Asks 'Did You Change the Tax?' Smart Money Asks 'Which PoolKey?' The retail reaction to Pons was predictable. Users saw a higher fee. They accused the founder of changing the tax after launch. The founder denied it. The community split into believers and skeptics. That debate is mostly noise. It focuses on intent. Markets do not price intent. Markets price flows. The smart-money question is different. It is not 'did you change the tax?' It is 'which PoolKey did the swap route through, what hook contract executed, and who received the fee?' That question is answerable. It does not require trusting Ozzy. It requires reading the chain. If the official pool's hook contract shows a static 1% fee, and the transaction used a different hook address, the founder is telling the truth about the official pool while the user is telling the truth about the realized cost. Both can be correct. That is the blind spot. There is a second blind spot. A 0% transaction tax is not the same as a 0% cost. Pons can advertise 0% tax because the token contract does not tax transfers. But the 1% Hook fee is still a cost. It is charged on every swap. It is economically a tax on trading. The label is different. The P&L is the same. In a bear market, users are not confused about labels. They are confused about why the number changed. The answer is that the number was never fully under the project's control. It was under the router's control. The third blind spot is the attacker. Everyone is debating whether Pons is honest. The attacker already extracted value. They did not need to hack Uniswap. They needed the terminal to include a bad pool. That is a lower-cost attack. It is also more scalable. If the V4 ecosystem does not solve pool identity, the attack can be repeated on any token with a custom hook. The victim does not have to be malicious. The victim just has to be popular enough to be routed. I have seen this pattern in AI trading. In 2026, I led development of an AI-driven trading agent that arbitraged across three L2 networks. It processed 50,000 transactions per day and had a 98% success rate. It generated $15,000 in daily profit for the first quarter. Then a rare oracle manipulation event caused a 15% drawdown. I had to manually intervene and freeze the smart contract. The failure was not in the strategy. The failure was in the assumption that the data feed was honest. The same is true here. The terminal assumed the pool was honest. The user assumed the terminal was honest. The project assumed the terminal would route correctly. Every assumption was a variable. The contrarian conclusion is uncomfortable. The real risk in the Pons incident is not that the founder lied. The real risk is that the market has no standard way to prove he did not. In a system where 'trust me' is the only verification, the attacker wins by default. That is why the next V4 blue chip will not be the project with the highest APY. It will be the project with the most verifiable pool identity. The market will pay for certainty. It already does, through lower fees and deeper liquidity. Takeaway: Verify the PoolKey, Then Trade Pons does not need a better slogan. It needs a signed PoolKey and terminal whitelisting. The founder should publish the official pool address, the hook address, the verified hook source, and the exact fee logic. He should ask every terminal to display 'official pool' or 'third-party pool' before the swap. He should consider whether a 1% Hook fee is worth the routing risk. A lower fee might attract more liquidity and reduce the incentive for lookalike pools. The cost-benefit is not close. For traders, the rule is simple. If the UI cannot show you the pool key, you are trading blind. If the receipt shows more than 1%, stop. Do not debate the founder. Check the route. If the route is wrong, the terminal is the counterparty. In a bear market, survival is a function of realized cost, not advertised cost. For Uniswap V4, the incident is a warning. Hooks are powerful. Power without identity is an attack surface. The ecosystem needs a pool identity layer before the next cycle. Otherwise every custom hook becomes a potential fake. Code does not care about your narrative. Trust is a variable; verify the proof, then sleep.

Market Prices

BTC Bitcoin
$81,349.4 -0.37%
ETH Ethereum
$2,397.29 -1.10%
SOL Solana
$103.17 -1.13%
BNB BNB Chain
$716.8 -0.76%
XRP XRP Ledger
$1.29 -1.62%
DOGE Dogecoin
$0.0791 -2.14%
ADA Cardano
$0.2188 -3.06%
AVAX Avalanche
$9.76 -2.05%
DOT Polkadot
$1.11 -4.98%
LINK Chainlink
$11.96 -3.13%

Fear & Greed

55

Greed

Market Sentiment

Event Calendar

{{年份}}
15
04
halving Bitcoin Halving

Block reward reduced to 3.125 BTC

22
03
unlock Optimism Unlock

Circulating supply increases by about 2%

12
05
halving BCH Halving

Block reward halving event

08
04
upgrade Solana Firedancer

Independent validator client goes live on mainnet

10
05
upgrade Ethereum Pectra Upgrade

Raises validator limit and account abstraction

30
04
upgrade Celestia Mainnet Upgrade

Improves data availability sampling efficiency

28
03
unlock Arbitrum Token Unlock

92 million ARB released

18
03
unlock Sui Token Unlock

Team and early investor shares released

Market Cap

All →
1
Bitcoin
BTC
$81,349.4
1
Ethereum
ETH
$2,397.29
1
Solana
SOL
$103.17
1
BNB Chain
BNB
$716.8
1
XRP Ledger
XRP
$1.29
1
Dogecoin
DOGE
$0.0791
1
Cardano
ADA
$0.2188
1
Avalanche
AVAX
$9.76
1
Polkadot
DOT
$1.11
1
Chainlink
LINK
$11.96

Tools

All →

Altseason Index

41

Bitcoin Season

BTC Dominance Altseason

Gas Tracker

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

🐋 Whale Tracker

🟢
0x1530...41c8
12h ago
In
389,648 USDT
🟢
0xff0c...2a37
6h ago
In
1,660 ETH
🟢
0x1b1c...11da
3h ago
In
16,426 SOL

💡 Smart Money

0x7e67...693b
Early Investor
+$2.9M
95%
0x6605...ef8c
Institutional Custody
+$2.8M
62%
0xa3f4...076a
Top DeFi Miner
+$3.7M
75%