Розробка intent-based торгового протоколу
Ми спеціалізуємося на проектуванні та розгортанні intent-based протоколів — архітектури, де користувач підписує намір ("хочу продати 1 ETH за найкращу ціну USDC до 15:00 UTC"), а виконання делегується спеціалізованим solver-ам. На відміну від класичної моделі DEX, де транзакція точно описує деталі, intent-based підхід адаптується до ринкових умов та захищає від прослизання. Така архітектура дозволяє знизити прослизання до 50% порівняно з AMM при волатильних парах, а також скоротити витрати на газ за рахунок batch-обробки ордерів. Розробка DeFi протоколу в цій парадигмі вимагає глибокого розуміння як on-chain, так і off-chain компонентів.
Цей підхід реалізований у CoW Protocol, UniswapX та 1inch Fusion, кожна реалізація має свої trade-off. Ми допомагаємо вибрати оптимальну модель під ваші завдання: batch аукціон для високих обсягів або first-solver для низької ліквідності. На практиці fill транзакції на mainnet коштують $5-15, що при високих обсягах може становити $10-20 тис. на місяць комісій. Використання batch fill дозволяє скоротити витрати на газ до 40%, що при щомісячних витратах у $50 тис. дає економію $20 тис.
Як працює intent-based торговий протокол?
Користувач підписує структуроване повідомлення через EIP-712 (типізовані дані, видимі в MetaMask). Специфікація EIP-712 забезпечує безпечне підписання структурованих даних off-chain. Мінімальна структура ордера:
struct Order { address maker; address inputToken; address outputToken; uint256 inputAmount; uint256 minOutputAmount; uint256 deadline; uint256 nonce; bytes32 partialFillable; } Ключовий момент: nonce керується за схемою word + bit (як в UniswapX), дозволяючи одночасно тримати до 256 активних ордерів. Скасування ордера — інвалідація біта в on-chain маппінгу без окремої транзакції.
Чому варто обрати intent-based модель?
| Критерій | Класичний DEX | Intent-based протокол |
|---|---|---|
| Прослизання | Залежить від ліквідності пулу | Мінімізується через конкуренцію solver-ів |
| MEV-захист | Немає | Вбудований (batch аукціон проти front-running) |
| Гнучкість виконання | Фіксований маршрут | Будь-які джерела: AMM, CEX, інвентар solver-а |
| UX | Одна транзакція | Один підпис (з Permit2 — без approve) |
Ключові компоненти системи
Settlement контракт
Центральний контракт верифікує підпис (EIP-712 recovery), перевіряє nonce та deadline, атомарно переводить токени через safeTransferFrom. Атомарність EVM гарантує: якщо solver не схвалив outputToken — транзакція реверсується повністю.
function fill(Order calldata order, bytes calldata signature, uint256 fillAmount) external { address signer = ECDSA.recover(_hashTypedData(order), signature); require(signer == order.maker, "Invalid signature"); require(!_usedNonces[order.maker][order.nonce], "Nonce used"); require(block.timestamp <= order.deadline, "Expired"); IERC20(order.inputToken).safeTransferFrom(order.maker, msg.sender, fillAmount); IERC20(order.outputToken).safeTransferFrom(msg.sender, order.maker, outputAmount); emit OrderFilled(orderHash, msg.sender, fillAmount, outputAmount); } Деталі захисту від reentrancy
Ми використовуємо модифікатор `nonReentrant` з OpenZeppelin, а solver додатково перевіряє токени через `eth_call` перед відправкою транзакції.Solver мережа та конкуренція
Solver — off-chain агент, що моніторить orderbook і вибирає оптимальний маршрут виконання. Прибуток solver-а — різниця між реальною ціною та minOutputAmount (surplus). Можливі дві моделі:
- On-chain аукціон (CoW Protocol): всі ордери за період збираються в batch, один winning solver виконує все за єдиною ціною. Усуває front-running в середині batch.
- Off-chain first solver (UniswapX): перший, хто виконав ордер on-chain до deadline, отримує reward. Простіше, але можлива MEV-гонка.
Ми оцінимо вашу специфіку та запропонуємо оптимальну модель.
Permit2 інтеграція
Замість класичного approve (окрема транзакція) використовуємо Permit2 — дозвіл підписується off-chain разом з ордером. Batch permit дозволяє один раз approve Permit2 для кожного токена, після чого всі dApps використовують його. Це значне покращення UX.
Solver реалізація: пошук та захист
Solver запитує котирування від AMM (Uniswap, Curve, Balancer), CEX (Binance API), on-chain orderbooks та власного інвентаря. Обирається найкраща ціна з урахуванням газу та комісій. Якщо profit < gas * gasPrice * safetyMultiplier — ордер відхиляється. Помилка початківців solver-ів: брати збиткові ордери в надії на MEV — це не працює стабільно.
Газова оптимізація
На mainnet одне fill коштує $5-15 при газі $50. Для малих ордерів — неприйнятно. Рішення:
- Деплой на L2 (Arbitrum, Optimism) знижує газ у 10-50 разів.
- Batch fill — кілька ордерів в одній транзакції амортизують base gas cost.
- Compact calldata: нульові байти дешевші, економія 20-40% calldata-газу.
Стек і таблиця компонентів
Розробка смарт-контрактів ведеться на Solidity 0.8.x з використанням Foundry і OpenZeppelin 5. Аудит смарт-контрактів виконується зовнішніми командами.
| Компонент | Технологія | Складність |
|---|---|---|
| Order structure | EIP-712 + Solidity | Середня |
| Settlement | Solidity + Permit2 | Висока |
| Nonce management | Bit-packed mapping | Середня |
| Solver logic | Node.js + 1inch/Jupiter API | Висока |
| Orderbook | REST API + WebSocket | Середня |
| Frontend | wagmi + viem + React | Середня |
Процес роботи
- Аналітика (3-5 днів): вибір моделі (batch або first-solver), цільові токени та мережі, вимоги до solver мережі.
- Проектування (5-7 днів): EIP-712 схема, nonce механізм, settlement архітектура.
- Розробка (6-10 тижнів): settlement контракт, Permit2 інтеграція, orderbook, solver, frontend.
- Аудит: обов'язковий зовнішній аудит з фокусом на signature malleability, reentrancy, nonce.
- Деплой та підтримка: розгортання на цільових мережах, моніторинг, документація.
Що входить в роботу
- Розробка смарт-контрактів (Settlement, Permit2 wrapper)
- Off-chain solver з інтеграцією ліквідності
- Orderbook (REST API + WebSocket)
- Фронтенд з підписанням ордерів (wagmi + viem)
- Документація API та контрактів
- Розгортання та налаштування моніторингу
- Навчання команди з експлуатації
- Гарантійна підтримка 3 місяці
Орієнтири за термінами
MVP з базовим settlement одним solver — 4-6 тижнів. Production-ready протокол з batch аукціоном, відкритою solver мережею та оптимізацією газу — 2-3 місяці. Вартість розраховується після визначення моделі та scope.
Замовте розробку протоколу — опишіть ваше завдання, і ми підберемо архітектуру під ваш обсяг та вимоги. Отримайте консультацію, щоб обговорити деталі вашого проекту.







