TL;DR: one stock token, several pools, several prices. Nothing on chain ties the pools together except the trades that move between them.
Open the app and you will see it: the same stock at two prices, sometimes five. The token is the same in every pool, and so is the share behind it. The gap comes from the plumbing. Here is where it comes from, with numbers from a scan of every pool on Sep 18, 2026.
Separate Pools
Uniswap v3 does not keep one market per stock. It keeps one pool per pair and fee tier. NVDA against USDG at 0.05% is one contract; NVDA against WETH at 0.30% is another. Each holds its own reserves, prices along its own curve, and moves only when somebody trades with it. On Sep 18, 2026, NVDA had five live pools:
| Pool | Price | Stock side | Quote side |
|---|---|---|---|
| WETH 0.05% | $222.485 | $943,518 | $389,124 |
| USDG 0.05% | $222.448 | $2,370,756 | $3,707,293 |
| USDG 0.30% | $221.943 | $16,778 | $30,107 |
| WETH 0.30% | $221.912 | $286,458 | $84,241 |
| WETH 1.00% | $220.253 | $5,974 | $2,133 |
Five prices for one share, 101 basis points from the cheapest pool to the richest. The two deep pools agreed within two basis points. The thin ones wandered, and nobody had a reason to walk them back.
Fee Tiers
Every swap pays its pool a fee: 0.01, 0.05, 0.30 or 1.00% of what goes in. The fee is also a wall. A trader will only pull a pool back toward its neighbours when the gain beats the fees on the way, so a 1.00% pool can sit almost a full percent away from the rest and nobody profits from touching it.
The snapshot had 1 pool at 0.01%, 19 at 0.05%, 68 at 0.30% and 48 at 1.00%. Most stock pools sit in the wide tiers, so wide gaps can be perfectly stable. What that means for a trade is the subject of Inside The Fee Band.
USDG Versus WETH
90 of the 136 pools quote the stock in USDG, a dollar. The other 46 quote it in WETH. A WETH pool prices the stock in ether, so its price in dollars is its price in ETH times the price of ETH.
When ETH moves 1% against the dollar, the dollar price of every stock/WETH pool moves 1% with it, while the USDG pools stand still. Nothing happened to the stock. For a moment, every stock with pools in both quotes has a gap anyway, and it stays until trades close it.
Closing that kind of gap takes three pools, not two: buy the stock with USDG, sell it for WETH, and turn the WETH back into USDG in the WETH/USDG pool. That is why ArbiStocks routes up to 4 hops, and why a cross-quote gap has to beat three fees.
One-Sided Launch Positions
A new pool often starts life as a single position that holds only the stock, placed in a price range above the market so it can only sell. Until somebody buys from it, its price is simply where it was placed, whatever happens elsewhere.
Positions like these also fool simple scanners. A pool's liquidity figure can look healthy while one side of it is nearly empty, so a trade in the wrong direction finds almost nothing to trade against. That is why the ArbiStocks scanner decides a pool is live by its balances: both sides must hold at least $200. Lopsided balances are easy to spot in the snapshot: Ford's USDG 0.30% pool held $126,966 of stock against $28,359 of USDG, and Netflix's held $168,808 against $23,898.
Big trades in small pools
The last cause is the plainest. Somebody trades size in one pool. A large buy in a thin pool moves its price a long way, and the pool next door never hears of it. The deeper the pool, the smaller the move, which is why the deep pools of a stock tend to agree and the thin ones drift.
What Closes It
Every one of these gaps closes the same way: buy where the stock is cheap, sell where it is rich, until the prices meet at the edge of their fees. That is what a cycle does, in one transaction and with no capital. How close the prices get, and why most gaps you see are not worth closing, is the next note.
Nuance
- Prices here are mid prices from the snapshot, before fees and before the price impact of a trade.
- The app reads the same pools live, every few seconds. The snapshot is one moment, and the market has moved since.
- Across the 49 stocks, the spread between a stock's own pools ran from 1 to 101 basis points, with a median of 49.