Користувач натискає «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 потрібно:
- Зареєструвати проект у Biconomy Dashboard
- Поповнити баланс MATIC/ETH для покриття газу
- Налаштувати 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-транзакції вже зараз.







