Pool Guard для Uniswap позволяет эмитенту — например, фонду, трансфер-агенту или торговой площадке — запустить пул Uniswap с ограниченным доступом, используя реестр инвесторов, который он уже ведёт вне блокчейна. Реестр остаётся там, где и был, и ни одна его часть не попадает в блокчейн. При каждом депозите Newton сверяет кошелёк с реестром: внесён ли он в список и какую сумму ему разрешено внести? Публикуется только решение.
В демонстрации роль реестра выполняет таблица Google Sheets. Кошелёк из списка вносит сумму в пределах своего лимита, и пул принимает депозит. Второй депозит на сумму, превышающую остаток лимита, отклоняется в блокчейне. Ни таблица, ни лимит никогда не попадают в блокчейн, а Newton Explorer фиксирует оба решения. Именно такую проверку SEC теперь требует от торговых площадок, на которых торгуются токенизированные акции в пулах AMM с ограниченным доступом, таких как пулы Uniswap.
Предыстория: пулы с ограниченным доступом и распоряжение SEC
23 июля 2026 года Uniswap Labs запустила пулы с ограниченным доступом для токенизированных фондов, акций и других активов, которыми могут владеть только одобренные инвесторы.
17 сентября 2026 года SEC издала Освобождение для инноваций (документ № 34-106402). В течение пяти лет торговая площадка может запускать AMM-пулы для токенизированных акций, котируемых в США, не регистрируясь в качестве биржи. В тот же день основатель Uniswap Хейден Адамс заявил, что это распоряжение в основном касается пулов с ограниченным доступом на Uniswap. Три условия затрагивают проверку того, кто торгует в пуле и в каком объёме:
Только проверенные кошельки. Пулами могут пользоваться только проверенные участники или участники с подтверждёнными учётными данными, включая поставщиков ликвидности.
Лимиты по объёму. В зависимости от категории объём торговли каждой акцией ограничен 0,25% или 2,5% от её среднего дневного объёма.
Учёт проверок кошельков. Торговая площадка ведёт учёт того, как она проверяет участников и подтверждает адреса кошельков, в течение срока действия освобождения и ещё трёх лет после его окончания.
Проблема: ончейн-список разрешённых адресов должен соответствовать офчейн-реестру
В архитектуре Uniswap регулируемый токен находится вне пула — в адаптере разрешений. Перед каждым обменом и созданием каждой новой позиции ликвидности пул запрашивает у проверяющего списка разрешённых адресов — контракта, написанного эмитентом, — разрешено ли использовать этот кошелёк (Uniswap Labs).
Вместо этого Pool Guard использует собственный хук Uniswap, поэтому работает с любым токеном ERC-20. Для каждого обмена, депозита и вывода средств требуется аттестация Newton для соответствующего кошелька и действия; хук откатывает любую операцию без неё.
Стандартному проверяющему списка разрешённых адресов Uniswap передаются только кошелёк и токен. Он возвращает два ответа «да» или «нет»: один для обмена, другой для предоставления ликвидности.
Это создаёт три проблемы:
Реестр приходится копировать ончейн. Проверяющий видит только данные, уже размещённые ончейн, поэтому каждое одобрение или исключение из реестра эмитента нужно переносить в блокчейн. Пока этого не сделано, данные пула и реестра расходятся.
Он отвечает только «да» или «нет». Размер сделки не передаётся, поэтому проверяющий не может применить ограничение «до 50 000 долларов для этого кошелька», лимит на подписку или ограничения по объёму, предусмотренные распоряжением SEC.
Запросить его может кто угодно. Это публичная функция, поэтому любой желающий может проверить, одобрен ли тот или иной кошелёк.
Другой подход — привязанное к душе удостоверение: непередаваемый токен, который выпускается на кошелёк после того, как инвестор проходит проверку KYC или подтверждает статус аккредитованного инвестора. Пул проверяет, есть ли такой токен у кошелька. Проверка обходится недорого, а одно удостоверение может использоваться во многих пулах.
Но реестр всё равно оказывается ончейн — по одному токену на инвестора, — поэтому сохраняются те же проблемы, что и у списка разрешённых адресов. Каждое изменение в реестре требует выпуска, обновления или сжигания токена, а инвестор с истёкшим статусом сохраняет доступ, пока это не сделано. Сумму можно задать только как фиксированную категорию, записанную в токене. Кроме того, токен находится в кошельке, где его может увидеть кто угодно.
Решение: Newton проверяет офчейн-реестр при каждом депозите


Операторы Newton подписывают каждое решение, а Newton Explorer ведёт их учёт. Эмитент может хранить эти записи вместе с документацией, которую требует распоряжение SEC, не публикуя сам реестр: в каждой записи указано только, есть ли кошелёк в списке и сколько ему ещё разрешено внести. Pool Guard сохраняет модель пулов с ограниченным доступом, в которой эмитент по-прежнему решает, кто может владеть его активом. Newton позволяет получать такой ответ из собственного реестра эмитента и указывать в нём сумму.
Что показывает демо
Pool Guard демонстрирует пул Uniswap в тестовой сети Sepolia с тестовыми токенами. Его защищает хук Uniswap, который принимает только действия, авторизованные Newton. Google Таблица играет роль реестра эмитента (в демо он называется списком разрешённых адресов): в каждой строке указан кошелёк и максимальная сумма, которой ему разрешено владеть в пуле. Демо показывает эту таблицу, чтобы посетители могли следить за процессом. Посетитель выполняет один депозит от начала до конца.
1. Выберите кошелёк. Выберите строку в списке разрешённых адресов эмитента справа или случайный кошелёк, которого в списке нет.

2. Выберите сумму. На экране показаны лимит кошелька, сумма, которой он уже владеет в пуле, и остаток лимита.

Посетитель также может выступать в роли эмитента и менять лимит для каждого кошелька. Новое значение добавляется в список разрешённых адресов, и при следующем депозите оно проверяется без необходимости обновления ончейн.
3. Newton проверяет его. Операторы Newton читают строку кошелька в списке разрешённых адресов эмитента и вычитают из пула то, что кошелёк уже внёс. Они применяют политику эмитента: депозит проходит, если кошелёк есть в списке, а сумма укладывается в оставшуюся часть его лимита, после чего подписывают ответ.
4. Пул принимает решение. Хук Uniswap проверяет подпись ончейн. Разрешённый депозит поступает в пул.

Хук отклоняет депозит, превышающий лимит, или депозит с кошелька, которого нет в списке. Транзакция откатывается ончейн, и средства не поступают в пул. На скриншоте ниже у строки 6 после депозита в размере 100 000 остаётся лимит 150 000, поэтому хук отклоняет новый депозит на 188 000: лимит применяется к общей сумме средств на кошельке.

Для кого это
Pool Guard — это демонстрационный проект для хуков Uniswap v4, но этот подход можно применить к любому пулу или хранилищу, доступ к которому зависит от реестра, хранящегося офчейн. Эмитент оставляет реестр там, где он уже находится, один раз задаёт правила в виде политики Newton и указывает в хуке Uniswap или контракте хранилища подпись Newton.
В частности, это решение подходит трём типам команд:
Эмитентам токенизированных фондов, открывающим вторичную ликвидность на Uniswap для одобренных инвесторов с лимитом на каждого инвестора.
Торговым площадкам, торгующим токенизированными акциями в соответствии с распоряжением SEC: они должны проверять каждого участника, включая поставщиков ликвидности, и вести учёт того, как именно проводят эти проверки.
Хранилищам токенизированных реальных активов и частного кредитования, реестр инвесторов которых уже ведётся трансфер-агентом или администратором фонда.
Общее для всех: реестр хранится офчейн, как минимум одно правило зависит от суммы, и впоследствии кто-нибудь может спросить, какой кошелёк проверяли, когда и по какому правилу.
Попробуйте демо. Это займёт около двух минут: одобрите депозит, попробуйте внести сумму выше лимита, затем переключитесь на роль эмитента, измените лимит и посмотрите, как пул подстроится под него.

