Pool Guard for Uniswap lets an issuer, such as a fund, a transfer agent or a trading venue, run a permissioned Uniswap pool from the investor register it already keeps offchain. The register stays where it is, and none of it goes onchain. At every deposit, Newton checks the wallet against the register: is it listed, and how much may it deposit? Only the decision is published.
In the demo, a Google Sheet stands in for the register. A listed wallet deposits within its limit, and the pool accepts it. A second deposit for more than what’s left of its limit is refused onchain. Neither the sheet nor the limit ever appears onchain, and the Newton Explorer records both decisions. That is the kind of check the SEC now asks of venues that trade tokenized stocks in permissioned AMM pools, such as Uniswap’s.
Background: Permissioned Pools and the SEC order
Uniswap Labs launched Permissioned Pools on 23 July 2026 for tokenized funds, equities and other assets that only approved investors may hold.
On 17 September 2026 the SEC issued the Innovation Exemption (Release No. 34-106402). For five years, a venue can run AMM pools for tokenized US-listed stocks without registering as an exchange. Uniswap founder Hayden Adams said the same day that the order mainly applies to permissioned pools on Uniswap. Three of its conditions bear on how a pool checks who trades and how much:
- Verified wallets only. Only verified or credentialed participants may use the pools, liquidity providers included.
- Caps measured in volume. Each stock is capped at 0.25% or 2.5% of its average daily volume, by tier.
- Records of how wallets are checked. The venue keeps records of how it screens participants and verifies wallet addresses for the life of the exemption plus three years.
The challenge: an onchain allowlist has to keep up with the offchain register
In Uniswap's design, the regulated token sits in a permissions adapter, outside the pool. Before every swap and every new liquidity position, the pool asks an allowlist checker, a contract the issuer writes, whether the wallet is allowed (Uniswap Labs).
Pool Guard uses its own Uniswap hook instead, so it works with any ERC-20 token. Every swap, deposit and withdrawal needs a Newton attestation for that wallet and that action, and the hook reverts anything without one.
Uniswap’s default allowlist checker is told only the wallet and the token, and answers with two yes-or-no flags, one for swapping and one for providing liquidity (source code).
That leaves three gaps:
- It needs the register copied onchain. The checker only sees data already onchain, so every approval or removal in the issuer's register has to be copied over. Until it is, the pool and the register disagree.
- It answers yes or no. The trade size is never passed in, so it can't enforce "up to $50,000 for this wallet", a subscription cap or the SEC order's volume caps.
- Anyone can query it. It is a public function, so anyone can check whether any wallet is approved.
Another approach is a soulbound credential, a token that can't be transferred, minted to a wallet once the investor passes KYC or accreditation. The pool checks that the wallet holds one. It is cheap to check, and one credential can serve many pools.
It still puts the register onchain, one token per investor, so it shares the allowlist's gaps. Each change in the register means minting, updating or burning a token, and an investor whose status lapses keeps access until that happens. An amount can only be a fixed tier minted into the token. And the token sits in the wallet for anyone to see.
The solution: Newton checks the offchain register at every deposit

The Newton operators sign each decision, and the Newton Explorer keeps a record of it. An issuer can keep that record beside the records the SEC order requires, without publishing its register: each decision shows only whether the wallet is listed and how much it may still deposit. Pool Guard keeps the Permissioned Pools model where the issuer still decides who may hold its asset. Newton lets that answer come from its own register and carry an amount.
What the demo shows
Pool Guard demonstrates a Uniswap pool on the Sepolia testnet with test tokens, guarded by a Uniswap hook that only accepts actions authorized by Newton. The Google Sheet plays the issuer's register (what the demo calls an allowlist), one row per wallet with the most it may hold in the pool, and the demo shows it so visitors can follow along. A visitor runs one deposit from start to finish.
1. Pick a wallet. Choose a row on the issuer's allowlist, shown on the right, or pick a random wallet that isn't on it.

2. Choose an amount. The screen shows the wallet's limit, what it already holds in the pool and what is left.

The visitor can also act as the issuer and change the limit for each wallet. The new value goes into the allowlist, and the next deposit is checked against it with no onchain update required.
3. Newton checks it. The Newton operators read the wallet’s row on the issuer’s allowlist and take what it has already deposited from the pool. They apply the issuer’s policy, which passes the deposit if the wallet is listed and the amount fits within what is left of its limit, and sign the answer.
4. The pool decides. The Uniswap hook verifies the signature onchain. An authorized deposit goes into the pool.

The hook refuses a deposit over the limit, or from a wallet that isn't listed. It reverts onchain and nothing reaches the pool. In the screenshot below, row 6 has 150,000 left after its 100,000 deposit, so the hook refuses a new 188,000 deposit, because the limit applies to what the wallet holds in total.

Who it's for
Pool Guard is a demo for Uniswap v4 hooks, but the pattern carries over to any pool or vault whose access depends on a register kept offchain. The issuer keeps its register where it is, writes its rules once as a Newton policy, and points its Uniswap hook or vault contract at the Newton signature.
It fits three kinds of teams in particular:
- Tokenized fund issuers opening secondary liquidity on Uniswap to approved investors, with a cap per investor.
- Venues trading tokenized stocks under the SEC order, which must screen every participant, liquidity providers included, and keep records of how they do it.
- RWA and private credit vaults whose investor register already lives with a transfer agent or fund administrator.
The common thread: the register lives offchain, at least one rule depends on an amount, and someone may later ask which wallet was checked, when, and against which rule.
Try the demo. It takes about two minutes: get a deposit approved, push one over the limit, then switch to the issuer's seat, change the limit and watch the pool follow.
Start at: https://poolguard-demo.newt.foundation
