Pool Guard for Uniswap cho phép một tổ chức phát hành, chẳng hạn như quỹ, đại lý chuyển nhượng hoặc nền tảng giao dịch, vận hành một pool Uniswap có cấp quyền dựa trên sổ đăng ký nhà đầu tư mà họ đã lưu trữ ngoài chuỗi. Sổ đăng ký vẫn được lưu ở đó và không dữ liệu nào trong đó được đưa lên chuỗi. Mỗi khi có khoản tiền gửi, Newton sẽ đối chiếu ví với sổ đăng ký: ví có được liệt kê không, và được phép gửi bao nhiêu? Chỉ quyết định mới được công bố.
Trong bản demo, Google Sheet được dùng thay cho sổ đăng ký. Một ví có tên trong danh sách gửi tiền trong giới hạn của mình và pool chấp nhận khoản tiền đó. Khoản tiền gửi thứ hai vượt quá phần hạn mức còn lại sẽ bị từ chối trên chuỗi. Cả bảng tính lẫn hạn mức đều không bao giờ xuất hiện trên chuỗi, còn Newton Explorer ghi lại cả hai quyết định. Đây là kiểu kiểm tra mà SEC hiện yêu cầu các nền tảng giao dịch cổ phiếu được token hóa trong các pool AMM có cấp quyền, chẳng hạn như pool của Uniswap.
Bối cảnh: Permissioned Pools và lệnh của SEC
Uniswap Labs ra mắt Permissioned Pools vào ngày 23 tháng 7 năm 2026 dành cho quỹ được token hóa, cổ phiếu và các tài sản khác chỉ những nhà đầu tư được phê duyệt mới được nắm giữ.
Ngày 17 tháng 9 năm 2026, SEC ban hành Miễn trừ Đổi mới (Release No. 34-106402). Trong năm năm, một nền tảng có thể vận hành các pool AMM cho cổ phiếu Mỹ niêm yết được token hóa mà không cần đăng ký làm sàn giao dịch. Cùng ngày, nhà sáng lập Uniswap Hayden Adams cho biết lệnh này chủ yếu áp dụng cho các pool có cấp quyền trên Uniswap. Ba điều kiện trong lệnh liên quan đến cách pool kiểm tra người giao dịch và khối lượng giao dịch:
Chỉ ví đã xác minh. Chỉ những người tham gia đã xác minh hoặc có chứng nhận mới được sử dụng pool, bao gồm cả nhà cung cấp thanh khoản.
Hạn mức tính theo khối lượng. Mỗi cổ phiếu có hạn mức bằng 0.25% hoặc 2.5% khối lượng giao dịch trung bình hằng ngày, tùy theo cấp.
Hồ sơ về cách kiểm tra ví. Nền tảng lưu hồ sơ về cách sàng lọc người tham gia và xác minh địa chỉ ví trong suốt thời hạn miễn trừ cộng thêm ba năm.
Thách thức: danh sách cho phép onchain phải luôn đồng bộ với danh sách offchain
Trong thiết kế của Uniswap, token được quản lý nằm trong một bộ điều hợp quyền, bên ngoài pool. Trước mỗi lần hoán đổi và mỗi vị thế thanh khoản mới, pool sẽ hỏi bộ kiểm tra danh sách cho phép — một hợp đồng do bên phát hành viết — xem ví có được phép hay không (Uniswap Labs).
Thay vào đó, Pool Guard sử dụng hook Uniswap riêng, nên hoạt động với mọi token ERC-20. Mỗi lần hoán đổi, nạp hoặc rút đều cần một chứng thực Newton cho ví đó và hành động đó; hook sẽ hoàn tác mọi giao dịch không có chứng thực.
Bộ kiểm tra danh sách cho phép mặc định của Uniswap chỉ nhận thông tin về ví và token, rồi trả về hai cờ có/không: một cờ cho phép hoán đổi và một cờ cho phép cung cấp thanh khoản.
Điều đó tạo ra ba lỗ hổng:
Danh sách phải được sao chép lên onchain. Bộ kiểm tra chỉ thấy dữ liệu đã có trên onchain, vì vậy mọi phê duyệt hoặc xóa khỏi danh sách của bên phát hành đều phải được sao chép lên đó. Cho đến khi việc này được thực hiện, pool và danh sách sẽ không đồng nhất.
Bộ kiểm tra chỉ trả lời có hoặc không. Quy mô giao dịch không bao giờ được truyền vào, nên bộ kiểm tra không thể áp dụng giới hạn như "tối đa $50,000 cho ví này", hạn mức đăng ký mua hoặc hạn mức khối lượng theo lệnh của SEC.
Ai cũng có thể truy vấn. Đây là một hàm công khai, nên bất kỳ ai cũng có thể kiểm tra xem một ví bất kỳ có được phê duyệt hay không.
Một cách tiếp cận khác là dùng chứng chỉ soulbound — một token không thể chuyển nhượng, được cấp cho ví sau khi nhà đầu tư vượt qua bước KYC hoặc xác minh tư cách nhà đầu tư đủ điều kiện. Pool kiểm tra xem ví có nắm giữ chứng chỉ hay không. Việc kiểm tra có chi phí thấp và một chứng chỉ có thể dùng cho nhiều pool.
Cách này vẫn đưa danh sách lên onchain, mỗi nhà đầu tư một token, nên cũng gặp các lỗ hổng như danh sách cho phép. Mỗi thay đổi trong danh sách đòi hỏi phải phát hành, cập nhật hoặc đốt token; nhà đầu tư bị mất tư cách vẫn giữ quyền truy cập cho đến khi việc đó được thực hiện. Số tiền chỉ có thể được biểu thị bằng một cấp cố định ghi vào token. Và bất kỳ ai cũng có thể nhìn thấy token trong ví.
Giải pháp: Newton kiểm tra danh sách offchain ở mỗi lần nạp


Các toán tử Newton ký từng quyết định và Newton Explorer lưu lại hồ sơ. Bên phát hành có thể lưu hồ sơ đó cùng với các hồ sơ mà lệnh của SEC yêu cầu mà không cần công khai danh sách của mình: mỗi quyết định chỉ cho biết ví có tên trong danh sách hay không và ví còn có thể nạp bao nhiêu. Pool Guard vẫn giữ nguyên mô hình Permissioned Pools, trong đó bên phát hành quyết định ai được nắm giữ tài sản của mình. Newton cho phép quyết định đó dựa trên danh sách riêng của bên phát hành và kèm theo một hạn mức.
Bản demo cho thấy gì
Pool Guard minh họa một pool Uniswap trên testnet Sepolia với token thử nghiệm, được bảo vệ bằng hook Uniswap chỉ chấp nhận các hành động được Newton cho phép. Google Sheet đóng vai trò danh sách của bên phát hành (bản demo gọi đây là danh sách cho phép), mỗi ví có một dòng ghi số tiền tối đa được nắm giữ trong pool; bản demo hiển thị danh sách để khách truy cập có thể theo dõi. Khách truy cập thực hiện một khoản nạp từ đầu đến cuối.
1. Chọn ví. Chọn một dòng trong danh sách cho phép của bên phát hành, hiển thị bên phải, hoặc chọn ngẫu nhiên một ví không có trong danh sách.

2. Chọn số tiền. Màn hình hiển thị hạn mức của ví, số tiền ví đang nắm giữ trong pool và số tiền còn lại.

Khách truy cập cũng có thể đóng vai trò bên phát hành và thay đổi hạn mức cho từng ví. Giá trị mới được đưa vào danh sách cho phép, và khoản nạp tiếp theo sẽ được đối chiếu với giá trị đó mà không cần cập nhật onchain.
3. Newton kiểm tra. Các toán tử Newton đọc dòng thông tin của ví trong danh sách cho phép của bên phát hành và trừ số tiền ví đã nạp khỏi hạn mức. Họ áp dụng chính sách của bên phát hành: khoản nạp được chấp thuận nếu ví có tên trong danh sách và số tiền không vượt quá hạn mức còn lại, sau đó ký kết quả.
4. Pool quyết định. Hook Uniswap xác minh chữ ký onchain. Khoản nạp được ủy quyền sẽ được đưa vào pool.

Hook từ chối khoản nạp vượt hạn mức hoặc đến từ ví không có tên trong danh sách. Giao dịch bị hoàn tác onchain và không có gì được đưa vào pool. Trong ảnh chụp màn hình bên dưới, dòng 6 còn 150,000 sau khi đã nạp 100,000, vì vậy hook từ chối khoản nạp mới 188,000, do hạn mức áp dụng cho tổng số tiền ví nắm giữ.

Dành cho ai
Pool Guard là bản demo về hook của Uniswap v4, nhưng mô hình này có thể áp dụng cho mọi pool hoặc vault có quyền truy cập phụ thuộc vào một danh sách được lưu trữ offchain. Bên phát hành giữ nguyên danh sách của mình, thiết lập quy tắc một lần dưới dạng chính sách Newton, rồi trỏ hook Uniswap hoặc hợp đồng vault đến chữ ký Newton.
Mô hình này đặc biệt phù hợp với ba nhóm đội ngũ:
Các bên phát hành quỹ được token hóa muốn mở thanh khoản thứ cấp trên Uniswap cho những nhà đầu tư đã được phê duyệt, với hạn mức cho mỗi nhà đầu tư.
Các nền tảng giao dịch cổ phiếu được token hóa theo lệnh của SEC, phải sàng lọc mọi bên tham gia, kể cả nhà cung cấp thanh khoản, và lưu hồ sơ về cách họ thực hiện việc đó.
Các vault tài sản thực (RWA) và tín dụng tư nhân có danh sách nhà đầu tư vốn đã được lưu tại đại lý chuyển nhượng hoặc đơn vị quản lý quỹ.
Điểm chung: danh sách được lưu trữ offchain, ít nhất một quy tắc phụ thuộc vào số tiền, và về sau có thể sẽ có người hỏi ví nào đã được kiểm tra, vào lúc nào và theo quy tắc nào.
Dùng thử bản demo. Mất khoảng hai phút: xin phê duyệt một khoản nạp, thử nạp vượt hạn mức, rồi chuyển sang vai trò của bên phát hành, thay đổi hạn mức và xem pool cập nhật theo.

