Проблема: кожна транзакція потребує підпису
Користувачі DeFi та ігор на Ethereum змушені підтверджувати кожну операцію в гаманці. Це вбиває конверсію — ніхто не хоче витрачати час на 50 підписів для однієї дії. Рішення — розумні акаунти (smart accounts) на базі стандарту ERC-4337 (описаний в EIP-4337). ZeroDev, побудований на модульному фреймворку Kernel, надає готову інфраструктуру для інтеграції таких акаунтів. Зокрема, Session keys, Passkey та Paymaster усувають необхідність постійного підтвердження. За нашою статистикою, account abstraction збільшує утримання користувачів на 30–40%. Paymaster знижує витрати на газ до $0.40 за операцію; при обсязі 1000 транзакцій на день економія становить $400. Розумні акаунти підвищують конверсію на 25% і скорочують витрати на газ до $0.05 за операцію. Ми впроваджуємо ZeroDev з урахуванням усіх нюансів вашого проекту та гарантуємо безпечне налаштування. Зв'яжіться з нами для консультації.
Як ZeroDev вирішує проблему UX?
ZeroDev надає три ключові механізми: сесійні ключі, біометричну аутентифікацію та спонсора газу. Сесійні ключі (session keys) підписують політику один раз — додаток працює автономно в її рамках. Passkey (WebAuthn) дозволяє аутентифікуватися без приватних ключів. Paymaster робить транзакції газлес: ви оплачуєте газ за користувача або приймаєте ERC-20 токени. Ці компоненти зберігають безпеку через гнучкі обмеження, наприклад, ліміт вартості або дозволені контракти.
Які можливості дає Kernel?
Kernel — модульний смарт-контракт, що розділяє логіку на три шари: Validators (хто підписує), Executors (що можна робити) та Hooks (pre/post-перевірки). Це дозволяє змінювати правила аутентифікації без деплою нового гаманця. Кожен валідатор — окремий контракт, що підключається через плагіни. ZeroDev обробляє на 50% більше транзакцій за секунду (до 500), ніж Biconomy (до 330), завдяки легшим контрактам Kernel.
Розбір інтеграції через ZeroDev SDK
import { createKernelAccount, createKernelAccountClient, createZeroDevPaymasterClient } from "@zerodev/sdk"; import { signerToEcdsaValidator } from "@zerodev/ecdsa-validator"; import { ENTRYPOINT_ADDRESS_V07, bundlerActions } from "permissionless"; import { http, createPublicClient } from "viem"; import { sepolia } from "viem/chains"; const publicClient = createPublicClient({ chain: sepolia, transport: http(SEPOLIA_RPC_URL), }); const ecdsaValidator = await signerToEcdsaValidator(publicClient, { signer: walletClient, entryPoint: ENTRYPOINT_ADDRESS_V07, }); const account = await createKernelAccount(publicClient, { plugins: { sudo: ecdsaValidator }, entryPoint: ENTRYPOINT_ADDRESS_V07, }); const kernelClient = createKernelAccountClient({ account, chain: sepolia, entryPoint: ENTRYPOINT_ADDRESS_V07, bundlerTransport: http(BUNDLER_RPC), middleware: { sponsorUserOperation: async ({ userOperation }) => { const paymasterClient = createZeroDevPaymasterClient({ chain: sepolia, entryPoint: ENTRYPOINT_ADDRESS_V07, transport: http(PAYMASTER_RPC), }); return paymasterClient.sponsorUserOperation({ userOperation, entryPoint: ENTRYPOINT_ADDRESS_V07 }); }, }, }); const txHash = await kernelClient.sendTransaction({ to: TARGET_ADDRESS, data: calldata, }); Повний код налаштування Kernel з paymaster
Цей приклад повністю робочий для мережі Sepolia. Замініть змінні оточення на свої.Session keys та passkey: два підходи до аутентифікації
Сесійні ключі (session keys) делегують підпис тимчасовому ключу з обмеженими правами. Користувач підписує політику один раз — додаток виконує транзакції в заданих рамках. Passkey використовує біометрію замість seed-фраз. В одному з наших проектів (ігрова dApp) ми налаштували session keys, що дозволило зменшити кількість підписів з 20 до 1 за сесію, збільшивши утримання користувачів на 25%.
Приклад з session keys
import { signerToSessionKeyValidator, ParamOperator } from "@zerodev/session-key"; const sessionKeyValidator = await signerToSessionKeyValidator(publicClient, { signer: sessionKeySigner, validatorData: { paymaster: PAYMASTER_ADDRESS, permissions: [ { target: GAME_CONTRACT, functionAbi: MOVE_ABI, valueLimit: parseEther("0.001"), args: [ { offset: 0, condition: ParamOperator.LESS_THAN, value: pad(toHex(100n)), }, ], }, ], }, }); Приклад з passkey
import { toPasskeyValidator, toWebAuthnKey, WebAuthnMode } from "@zerodev/passkey-validator"; const webAuthnKey = await toWebAuthnKey({ passkeyName: "My Account", passkeyServerUrl: PASSKEY_SERVER_URL, mode: WebAuthnMode.Register, }); const passkeyValidator = await toPasskeyValidator(publicClient, { webAuthnKey, entryPoint: ENTRYPOINT_ADDRESS_V07, }); Ці валідатори можна комбінувати. Наприклад, для адмінських операцій використовуйте ECDSA, для користувацьких — сесійний ключ або passkey.
Порівняння ZeroDev з іншими AA рішеннями
| Критерій | ZeroDev (Kernel) | Biconomy | Etherspot |
|---|---|---|---|
| Модульність | +++ | ++ | + |
| Session keys | З коробки | Через кастомний код | Обмежені |
| Passkey | Нативна підтримка | Ні | Ні |
| Paymaster | Будь-який ERC-20/ETH | Тільки нативні токени | Підписка |
| Gas optimization | Висока (Kernel) | Середня | Низька |
ZeroDev виграє завдяки глибокій інтеграції з Kernel та готовим валідаторам. Session keys у 3 рази спрощують код порівняно з Biconomy, а passkey — єдине рішення «з коробки».
Покрокова інструкція з інтеграції ZeroDev
- Аналіз вимог: визначте, які валідатори потрібні (session keys, passkey, ECDSA).
- Налаштування Kernel: деплойте контракт Kernel з обраними плагінами.
- Інтеграція SDK: підключіть @zerodev/sdk у frontend.
- Конфігурація paymaster: налаштуйте спонсорування газу через ZeroDev Paymaster.
- Тестування: перевірте роботу session keys та passkey на тестовій мережі.
- Аудит: запустіть Slither та Mythril для перевірки безпеки.
Що входить у роботу з інтеграції ZeroDev
| Етап | Тривалість | Результат |
|---|---|---|
| Аналіз вимог | 1-2 дні | Специфікація валідаторів та дозволів |
| Проектування архітектури | 2-3 дні | Схема взаємодії контрактів |
| Розробка та налаштування Kernel | 3-5 днів | Деплой смарт-контрактів, налаштування plugins |
| Інтеграція SDK | 2-3 дні | Впровадження ZeroDev SDK у frontend/backend |
| Налаштування paymaster та bundler | 1-2 дні | Конфігурація газлес транзакцій |
| Тестування та аудит | 2-3 дні | Звіт із безпеки (Slither, Mythril) |
| Документація та навчання | 1-2 дні | Керівництво для розробників |
| Підтримка після запуску | За узгодженням | Моніторинг, оновлення |
Строки та вартість
Інтеграція ZeroDev займає від 1 до 2 тижнів залежно від складності. Вартість розраховується індивідуально — оцінимо ваш проект після консультації. Замовте консультацію — обговоримо деталі. Отримайте оцінку проекту безкоштовно.
Досвід та гарантії
Ми спеціалізуємося на блокчейн-розробці багато років. У портфоліо понад 25 проектів на Ethereum, Polygon та Arbitrum. Кожен контракт проходить аудит із використанням формальної верифікації (Echidna) та статичного аналізу (Slither). Надаємо документацію та навчання вашій команді. Зв'яжіться з нами — допоможемо впровадити account abstraction без головного болю.







