Trufill
Документация

Whitepaper и проверяемое ядро

Что такое Trufill, как устроен обмен, откуда берётся комиссия — и где всё это можно проверить самостоятельно: адреса контрактов по сетям, исходный код, тесты. Мы предпочитаем показывать строку кода, а не обещание.

Редакция 1Стадия: тестовая сетьОбновлено 9 сентября 2026

Что это — и чего это не

Trufill — некастодиальный агрегатор обмена криптовалюты. Мы опрашиваем доступные площадки, находим маршрут, где вы получите больше, и проводим обмен одной транзакцией через контракт. Средства не проходят через наши счета: они уходят напрямую в сделку и возвращаются в ваш кошелёк.

Категория продукта — мета-поиск лучшей цены, а не торговая площадка. Название происходит от true fill: fill в трейдинге — это фактически исполненное. Мы называем ровно одно измеренное свойство — показанная котировка равна полученному.

Чего здесь нет. Нет биржи, нет токена, нет приёма реальных средств. Контракты работают в тестовых сетях. Собственная биржа и токен — это поздние фазы, и они не появятся раньше юридического лица и лицензии. Пока их нет, любые слова про «инвестиции в Trufill» или «покупку токена» были бы ложью — их и не будет.

Как устроен обмен

Обмен целиком происходит в одной операции. Нет депозита, нет вывода, нет ожидания подтверждения с нашей стороны. Порядок такой:

  1. Опрос маршрутов. Движок котировок параллельно спрашивает источники ликвидности — пул Uniswap v3 и любой v2-совместимый пул (наш или чужой) — и сравнивает их по нетто-выходу, то есть по тому, что вы получите на руки после всех издержек.
  2. Показ честного числа. Комиссия сервиса уже вычтена из показанной суммы, а не добавляется сверху при подтверждении. Вы видите то, что получите.
  3. Одна транзакция. Токены входят в контракт, уходят в выбранный пул и возвращаются вам за вычетом только комиссии. Контракт держит ваш минимум (amountOutMinimum): если из-за чужих сделок цена сдвинулась и вы получили бы меньше минимума — обмен просто отменяется.

Контракт-роутер (AggregatorRouter) хранит адреса своих зависимостей как immutable и защищён от повторного входа (ReentrancyGuard). Токены с комиссией на переводе и ребейз-токены через этот путь не поддерживаются — сделка с ними откатывается, а не оплачивается неверно.

Экономика

Единственный источник дохода — комиссия с оборота. Это проверяемая выручка (событие в блокчейне на каждый обмен), а не обещание будущей стоимости.

  • Потолок 0,30% зашит в байт-код. Константа MAX_FEE_BPS = 30 из 10 000. Поднять её не может никто, включая владельца контракта: это не настройка, а свойство скомпилированного кода.
  • Сейчас комиссия равна нулю. В тестовой сети feeBps = 0 — проверяется чтением контракта прямо сейчас (см. раздел ниже).
  • Комиссия вычитается, а не добавляется. Показанное число уже за вычетом; надбавки при подтверждении нет.
  • Токена нет и он не продаётся. Никаких пресейлов и сборов. Токен относится к поздней фазе (собственная биржа) и невозможен раньше юрлица и лицензии.

Проверяемое ядро

Контракты задеплоены в три публичные тестовые сети. Байт-код присутствует по адресам ниже прямо сейчас (проверяется eth_getCode на любом публичном узле). Ссылки ведут на страницы контрактов в обозревателях сетей.

Исходный код

Ядро аггрегатора опубликовано под лицензией Apache-2.0 — это ровно тот код, из которого собран байт-код по адресам выше:

  • FeeSwitch.sol — комиссия с потолком-константой;
  • AggregatorRouter.sol — своп через внешний пул с удержанием комиссии и защитой минимума;
  • ParamTimelock.sol — смена параметров через заявку с задержкой.

Вместе с контрактами опубликованы интерфейсы внешних пулов и точные настройки компиляции (solc 0.8.28, optimizer 200 runs, cancun, OpenZeppelin v5.7.0) — опубликованное собирается в байт-код воспроизводимо.

Честно о статусе проверки. Байт-код в сетях — публичный и проверяемый уже сейчас. Бейджа «verified source» в сторонних обозревателях пока нет, а репозитории на GitHub закрыты на время тестовой фазы. Поэтому исходники ядра выложены прямо здесь: любой может сверить их с байт-кодом контракта. Публичное открытие репозиториев и верификация в обозревателях — по мере выхода из закрытого теста.

Тесты и целостность

  • Ключевое свойство — котировка равна фактически полученному — доказано на форке сети: расчёт сверяется с дельтой баланса после реального исполнения в EVM (а не расчёт с расчётом), на двух путях (v3 и v2) и с ненулевой комиссией; расхождение — ноль.
  • Дерево форк-кода Uniswap (GPL-3.0) изолировано от нашего Apache-2.0-ядра автоматической проверкой; аудит дрейфа лицензий и хук против утечки секретов — в непрерывной интеграции.

Что доказано, а что нет

Граница проходит по слову «сейчас». Котировка — точный расчёт по состоянию сети на момент запроса.

  • Доказано: на неизменном состоянии цепи показанное число совпадает с полученным до последней единицы.
  • Не обещано: на живой сети между котировкой и включением транзакции состояние пула меняется от чужих сделок. Поэтому ончейн гарантируется нижний порог (ваш amountOutMinimum), а не точное равенство. Формулировка намеренно строгая: иначе витрина читалась бы как вводящая в заблуждение.

Подробнее о параметрах доверия, методологии выбора цены и защите от MEV — на странице Прозрачность.