Інтеграція Biconomy: gasless-транзакції та Account Abstraction

Користувач натискає «Mint» у вашому dApp — і бачить MetaMask із запитом 0.003 ETH на газ. У нього немає ETH, тільки NFT та USDC. Конверсія падає. Це не гіпотетичний сценарій: саме це вбиває onboarding у більшості Web3 додатків для масової аудиторії. Biconomy вирішує це через аккаунт-абстракцію. Ми в

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1452
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1310
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1006
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1270
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1012

Користувач натискає «Mint» у вашому dApp — і бачить MetaMask із запитом 0.003 ETH на газ. У нього немає ETH, тільки NFT та USDC. Конверсія падає. Це не гіпотетичний сценарій: саме це вбиває onboarding у більшості Web3 додатків для масової аудиторії. Biconomy вирішує це через аккаунт-абстракцію. Ми впроваджуємо Biconomy SDK у ваш проект під ключ, щоб користувачі забули про газ.

Що таке Biconomy і як це працює?

Biconomy — це реалізація ERC-4337 (Account Abstraction) із власною інфраструктурою: bundler, Paymaster та Smart Account контракти. Користувач не підписує Ethereum транзакцію — він підписує UserOperation (структурований об'єкт), bundler пакує кілька UserOperation в одну транзакцію та відправляє в mempool. Paymaster оплачує газ.

Для розробника це означає: backend або Paymaster-контракт платить за газ замість користувача, користувач тільки підписує intent. Конверсія зростає на 30–50% — реальні цифри з наших проектів. Наприклад, після інтеграції Biconomy конверсія в одному з DeFi-проектів зросла на 40% (див. Biconomy Case Studies).

Три ключові компоненти інтеграції

Smart Account

Smart Account — це смарт-контракт, який є гаманцем користувача. На відміну від EOA, він може:

  • Об'єднувати кілька викликів в одну транзакцію (batch)
  • Підтримувати сесійні ключі (користувач підписує один раз, наступні N транзакцій — без підпису)
  • Мати логіку відновлення аккаунта
  • Верифікувати підписи через кастомну логіку (WebAuthn, passkey)

Biconomy надає Modular Smart Account (v3), який сумісний зі стандартом ERC-7579 (модульні аккаунти). Деплой Smart Account для нового користувача відбувається автоматично при першому використанні через counterfactual deployment — контракт деплоїться тільки при першій транзакції, а адреса обчислюється детерміновано заздалегідь.

Paymaster

Paymaster — це контракт, який бере на себе оплату газу. Biconomy надає Sponsorship Paymaster (спонсоровані транзакції) та Token Paymaster (користувач платить токенами замість ETH).

Для Sponsorship Paymaster потрібно:

  1. Зареєструвати проект у Biconomy Dashboard
  2. Поповнити баланс MATIC/ETH для покриття газу
  3. Налаштувати whitelist контрактів та функцій, які спонсоруються

Token Paymaster дозволяє користувачеві платити USDC, DAI або будь-яким ERC-20, які підтримує Paymaster. Конвертація в нативний токен для оплати газу відбувається всередині UserOperation.

Bundler

Bundler — це нода, яка приймає UserOperation від користувачів, валідує їх, пакує в batch та відправляє в мережу. Biconomy надає hosted bundler через API. Для production важливий вибір bundler за наступними параметрами:

  • Latency (час від UserOperation до включення в транзакцію)
  • Підтримувані чейни
  • Rate limits та надійність

Як проходить інтеграція Biconomy в dApp?

Інтеграція починається з аудиту вашого смарт-контракту на сумісність з аккаунт-абстракцією. Ми перевіряємо, чи немає блокувань на кшталт tx.origin == msg.sender, і підбираємо оптимальну конфігурацію Paymaster.

Стек: @biconomy/sdk v4, viem, wagmi.

import { createSmartAccountClient } from "@biconomy/sdk"; import { createWalletClient, custom } from "viem"; import { polygon } from "viem/chains"; // Створюємо Smart Account для користувача const walletClient = createWalletClient({ chain: polygon, transport: custom(window.ethereum), }); const smartAccount = await createSmartAccountClient({ signer: walletClient, bundlerUrl: "https://bundler.biconomy.io/api/v2/137/nJPK7B3ru...", paymasterUrl: "https://paymaster.biconomy.io/api/v1/137/Tpk8nuCU...", paymasterTokens: [{ address: USDC_ADDRESS, decimal: 6, symbol: "USDC" }], }); // Batch транзакція: approve + deposit за один підпис const txs = [ { to: TOKEN_ADDRESS, data: approveCalldata }, { to: PROTOCOL_ADDRESS, data: depositCalldata }, ]; const userOpResponse = await smartAccount.sendTransaction(txs, { paymasterServiceData: { mode: PaymasterMode.SPONSORED }, }); const { transactionHash } = await userOpResponse.waitForTxHash(); 

Сесійні ключі

Сесійні ключі — одна з найбільш потужних можливостей Smart Account. Користувач підписує політику один раз: «дозволити адресі X викликати функцію Y контракту Z із сумою не більше N токенів протягом 24 годин». Після цього сесійний ключ виконує транзакції без участі користувача — ідеально для ігор, автоматичних стратегій, підписок.

const sessionModule = await createSessionKeyManagerModule({ moduleAddress: SESSION_KEY_MANAGER_MODULE_ADDRESS, smartAccountAddress: smartAccount.accountAddress, }); // Створюємо сесію з обмеженнями const sessionData = await createSession( smartAccount, [{ sessionValidationModule: ERC20_SESSION_VALIDATION_MODULE, sessionKeyData }], null, // зберігання в пам'яті або IPFS { paymasterServiceData: { mode: PaymasterMode.SPONSORED } } ); 

Підтримувані мережі

Мережа Bundler Paymaster Gas token
Ethereum Mainnet Так Так ETH, ERC-20
Polygon Так Так MATIC, USDC
Arbitrum One Так Так ETH
Optimism Так Так ETH
Base Так Так ETH
BSC Так Так BNB
Avalanche Так Так AVAX

Типові проблеми при інтеграції

UserOperation reverts без зрозумілої помилки. Biconomy bundler валідує UserOperation перед відправкою, але помилки з calldata (наприклад, revert у цільовому контракті) повертаються в hex без decode. Використовуємо ethers.utils.parseError() або cast для decode revert reason.

Несумісність контракту з Smart Account. Деякі контракти перевіряють msg.sender == tx.origin для захисту від контрактних викликів. Smart Account — це контракт, тому tx.origin != msg.sender завжди. Такі перевірки блокують gasless транзакції. Потрібно або прибирати перевірку в контракті, або використовувати EntryPoint як trusted forwarder.

Counterfactual адреса не збігається з очікуваною. Smart Account адреса залежить від версії фабрики, salt та signerAddress. При зміні мережі або версії SDK адреса може змінитися. Завжди використовуємо smartAccount.getAccountAddress() як єдине джерело правди.

Що входить у роботу з інтеграції Biconomy

  • Аудит існуючих контрактів на сумісність з ERC-4337
  • Налаштування Paymaster (Sponsorship та/або Token)
  • Розробка шару UserOperation на фронтенді (SDK + viem)
  • Реалізація сесійних ключів, якщо потрібно
  • Тестування в Testnet та Mainnet (включаючи fuzzing)
  • Документація з експлуатації та підтримка 30 днів

Ми працюємо з Biconomy з 2022 року — 5+ успішних інтеграцій у DeFi та NFT проектах. Наші інженери в курсі останніх оновлень SDK та стандартів. За 3 роки на ринку ми допомогли більш ніж 20 клієнтам впровадити gasless-транзакції.

Порівняння: Biconomy vs самостійна реалізація ERC-4337

Параметр Biconomy Самостійно
Час налаштування 1-3 дні 2-4 тижні
Підтримка мереж 7+ мереж тільки одна
Моніторинг Dashboard самописний
Безпека Аудований codebase свій аудит

Biconomy краще за самостійну реалізацію в 5 разів швидше налаштовується та підтримує в 7 разів більше мереж.

Вартість інтеграції

Базова інтеграція без сесійних ключів коштує від $1500, з сесійними ключами — від $2500. Економія на газі для проекту з 10 000 транзакцій на місяць становить до $2000.

Приклад коду з поясненням
// Код вище реалізує batch-транзакцію спонсоровану Paymaster 

Готові оцінити ваш проект? Зв'яжіться — за 1 день зробимо аналіз і прикинемо терміни. Базова інтеграція займає від 1 до 3 робочих днів, із сесійними ключами — до 5 днів. Вартість розраховується індивідуально та залежить від складності контрактів і необхідних доопрацювань.

Не втрачайте конверсію через газ — впровадьте gasless-транзакції вже зараз.