Впровадження Pimlico для ERC-4337: Bundler і Paymaster під ключ
Ми часто стикаємося з ситуацією: клієнт хоче впровадити Account Abstraction (ERC-4337), але запуск власного bundler і написання контракту paymaster забирає місяці та потребує рідкісної компетенції. Pimlico вирішує цю проблему «з коробки» — managed інфраструктура, яка бере на себе валідацію, упаковку та відправку UserOperations, а також спонсорування газу. Наш досвід (5+ років у блокчейн-розробці) показує, що інтеграція Pimlico скорочує time-to-market з півроку до пари тижнів. Pimlico — одна з найнадійніших платформ із заявленим uptime 99.9%.
Проблеми, які вирішує Pimlico
Газова складність для користувачів. Без paymaster кожен юзер повинен мати ETH для оплати газу, що вбиває UX. Pimlico підтримує два режими: verifying paymaster (підписаний дозвіл на спонсорування) і ERC-20 paymaster (оплата газу в USDC). Другий варіант дозволяє утримати користувача в звичних токенах.
Необхідність синхронізації з мережею. Власний bundler потребує розуміння мемпулу ERC-4337, обробки бандлів і повторних спроб. Pimlico абстрагує це через простий REST API — ви просто відправляєте UserOperation, а решту робить провайдер.
Ризики централізації. Якщо ви не хочете залежати від одного провайдера, Pimlico пропонує Alto — open-source bundler, який можна розгорнути самостійно. Ми допомагаємо налаштувати як managed, так і self-hosted сценарій.
Чому Pimlico вигідніше за власний bundler?
Розробка власного bundler обходиться в $50 000–100 000 без урахування підтримки. Pimlico знижує ці витрати до $200–500 на місяць залежно від навантаження. При цьому ви отримуєте SLA 99.9% і готову інфраструктуру.
| Критерій |
Самостійний bundler |
Pimlico managed |
| Час запуску |
2–4 місяці |
1–2 тижні |
| Складність підтримки |
Висока (моніторинг, оновлення) |
Нульова (SLA 99.9%) |
| Вартість першого року |
$50 000+ |
Від $2 400/рік |
| Гнучкість |
Повний контроль |
Обмежений API, але покриває 95% сценаріїв |
Як ми налаштовуємо Pimlico
Ми використовуємо стандартний стек: permissionless.js (TypeScript-бібліотека для AA), viem для роботи з блокчейном і Pimlico API. Нижче — приклад створення smart account на базі Safe з paymaster-спонсоруванням:
import { createSmartAccountClient } from "permissionless";
import { createPimlicoBundlerClient, createPimlicoPaymasterClient } from "permissionless/clients/pimlico";
import { createPublicClient, http } from "viem";
import { sepolia } from "viem/chains";
const publicClient = createPublicClient({
chain: sepolia,
transport: http("https://rpc.ankr.com/eth_sepolia"),
});
const bundlerClient = createPimlicoBundlerClient({
transport: http(`https://api.pimlico.io/v2/sepolia/rpc?apikey=${PIMLICO_API_KEY}`),
entryPoint: ENTRYPOINT_ADDRESS_V07,
});
const paymasterClient = createPimlicoPaymasterClient({
transport: http(`https://api.pimlico.io/v2/sepolia/rpc?apikey=${PIMLICO_API_KEY}`),
entryPoint: ENTRYPOINT_ADDRESS_V07,
});
Створення smart account і відправка спонсорованої транзакції:
import { signerToSafeSmartAccount } from "permissionless/accounts";
const safeAccount = await signerToSafeSmartAccount(publicClient, {
signer: walletClient,
entryPoint: ENTRYPOINT_ADDRESS_V07,
safeVersion: "1.4.1",
});
const smartAccountClient = createSmartAccountClient({
account: safeAccount,
entryPoint: ENTRYPOINT_ADDRESS_V07,
chain: sepolia,
bundlerTransport: http(`https://api.pimlico.io/v2/sepolia/rpc?apikey=${API_KEY}`),
middleware: {
sponsorUserOperation: paymasterClient.sponsorUserOperation,
},
});
const txHash = await smartAccountClient.sendTransaction({
to: "0xTarget",
value: 0n,
data: "0xCalldata",
});
Які типи paymaster підтримує Pimlico?
Pimlico підтримує два основних типи paymaster:
| Тип |
Як працює |
Коли використовувати |
| VerifyingPaymaster |
Підписує дозвіл на UserOperation, газ спонсорується повністю |
Для бонусів, кешбеку, внутрішніх операцій |
| ERC-20 Paymaster |
Користувач оплачує газ в USDC або інших ERC-20 токенах |
Для масового використання, щоб юзери не тримали ETH |
ERC-20 paymaster потребує отримання курсу токена (getTokenQuotes) і approve токена на контракт paymaster. Pimlico надає готові методи для цього.
Процес інтеграції
- Аналіз — вибираємо імплементацію smart account (Safe, Kernel, Biconomy) і тип paymaster.
- Проектування — проектуємо архітектуру: які операції спонсорувати, ліміти, fallback.
- Реалізація — підключаємо permissionless.js, налаштовуємо Bundler і Paymaster, пишемо тести.
- Тестування — розгортаємо на Sepolia/Goerli, перевіряємо всі сценарії (revert, нестача газу, спам).
- Деплой — перемикаємо на mainnet, налаштовуємо моніторинг (Tenderly, Etherscan).
Як налаштувати Paymaster для спонсорування газу?
Для sponsored-транзакцій paymaster підписує дозвіл на конкретний UserOperation. У permissionless.js це робиться через middleware:
const sponsorResult = await paymasterClient.sponsorUserOperation({
userOperation: userOp,
});
// Повертає paymasterAndData (V0.6) або paymaster + paymasterData + gas ліміти (V0.7)
Що входить у роботу
- Готова інтеграція Bundler і Paymaster Pimlico.
- Вибір та налаштування smart account (Safe або Kernel).
- Налаштування політик спонсорування (ліміти, whitelist контрактів).
- Тестування на testnet з покриттям кейсів.
- Документація з інтеграції для вашої команди.
- Гарантія: 2 тижні пост-релізної підтримки.
Оцінка економії
У середньому клієнти економлять від $5 000 на місяць на інфраструктурі після переходу на Pimlico. Точна цифра залежить від обсягу транзакцій і кількості чейнів.
Терміни та вартість
Інтеграція базового AA флоу з Pimlico, як правило, займає від 1 до 2 тижнів. Вартість розраховується індивідуально — залежить від складності paymaster-політик, кількості підтримуваних чейнів і вимог до документації. Замовте налаштування Pimlico сьогодні та отримайте консультацію з вибору оптимального тарифу.
Ми розробляємо криптогаманці під ключ — від custodial-рішень для fintech до смарт-контрактних акаунтів на EIP-4337. 5+ років на ринку блокчейн-розробки, 40+ реалізованих проектів. Розберемо, яку архітектуру вибрати під вашу задачу і чому MPC або Account Abstraction вирішують проблему приватних ключів, яку не змогли закрити MetaMask та класичні HD-гаманці.
Як обрати архітектуру гаманця?
Чому класичні гаманці небезпечні для бізнесу?
Seed-фраза у браузерному розширенні — єдиний спосіб відновити доступ. Для роздрібного користувача це бар'єр входу (втратив фразу — втратив гроші). Для корпоративного казначейства — несумісно з compliance (KYC/AML, рольова модель, мультипідпис). Будь-який витік одного ключа компрометує всі кошти. Ці ризики закладені в архітектуру, а не в поганий UX.
Ми усуваємо їх на рівні протоколу: MPC-гаманці (ключ ніколи не зібраний цілком), смарт-контрактні гаманці (логіка авторизації в коді), апаратні HSM для інституційного зберігання. Нижче — деталі.
Custodial vs Non-custodial: у чому реальна різниця
Custodial — провайдер зберігає приватний ключ. Користувач аутентифікується через email/password/OAuth. Відновлення тривіальне, KYC/AML вбудовані. Для централізованих додатків з фінансовими операціями — часто єдиний регуляторно прийнятний варіант. Ризик: single point of failure (злом Bitfinex — значні втрати, FTX — понад значну суму клієнтських коштів).
Non-custodial — ключі у користувача. Провайдер не має доступу до коштів. Відповідальність за зберігання лягає на користувача. Для 99% людей це непрацююча модель без додаткового захисту — тут і приходить MPC.
MPC-гаманці: ключ, якого немає
Multi-Party Computation (MPC) — криптографічний протокол, що дозволяє кільком сторонам спільно підписати транзакцію, не розкриваючи свої часткові секрети. Приватний ключ ніколи не існує в зібраному вигляді.
Стандартна схема: 2-of-3 MPC між користувачем (частка на пристрої), сервером провайдера та резервним хмарним сховищем. Транзакція підписується двома будь-якими з трьох сторін. Телефон втрачено — відновлення через сервер + хмару. Сервер скомпрометовано — атакуючий володіє лише однією часткою, підпис неможливий.
TSS (Threshold Signature Scheme) — конкретна реалізація MPC для ECDSA/EdDSA. Алгоритми: GG18, GG20, CGGMP21 (останній швидший і з кращими security proof). Бібліотеки: tss-lib (Go, від Binance), multi-party-sig (Go, від Coinbase), ZenGo-X/multi-party-ecdsa (Rust).
MPC не потребує on-chain змін — для блокчейна підпис виглядає як звичайний single-key підпис. Це дає економію gas та зберігає конфіденційність схеми управління ключами (не публікується в ланцюжку) — на відміну від мультисига.
Account Abstraction (EIP-4337): смарт-контракт як гаманець
EIP-4337 повністю змінює модель: замість EOA (Externally Owned Account) використовується смарт-контракт Account. Логіка авторизації — в коді контракту, а не в криптографії протоколу. Це відкриває довільну логіку підпису, соціальне відновлення, сесійні ключі, sponsored транзакції та батчинг операцій.
User → UserOperation → Bundler → EntryPoint contract → Account contract
↑
Paymaster (optional, pays gas)
UserOperation — новий тип об'єкта (не L1-транзакція). Bundler збирає UserOps з альтернативного mempool, упаковує в одну транзакцію та відправляє в EntryPoint. EntryPoint викликає validateUserOp на Account контракті — Account сам вирішує, чи дійсний підпис.
Практичні можливості:
Соціальне відновлення. Контракт зберігає список guardian'ів (інші адреси або сервіс). Втрата ключа — guardians голосують за заміну. Argent використовує схему з 2020 року.
Сесійні ключі. Тимчасовий ключ з обмеженими правами: взаємодія лише з конкретним контрактом, до певної дати, до певної суми. Для GameFi та dApps — користувач не підписує кожну мікро-транзакцію.
Paymaster. Сторонній контракт платить газ за користувача. Паттерн для онбордингу: користувач не тримає ETH, газ спонсорує dApp або береться з ERC-20 токенів.
Реалізації: Safe{Core} Protocol, Biconomy SDK (Stackup), ZeroDev (Kernel), Alchemy (Rundler bundler). На Ethereum mainnet, Polygon, Arbitrum, Optimism EntryPoint v0.6/v0.7 задеплоєний та активний. Гарантуємо сумісність з останніми версіями контрактів.
Hardware Security Module для корпоративних гаманців
Для казначейств та інституційного зберігання: HSM (Hardware Security Module). Ключ генерується і ніколи не покидає захищений чип. Підпис — всередині HSM. Підтримується апаратна атестація. Використовувані рішення: AWS CloudHSM, Azure Dedicated HSM, Thales Luna, YubiHSM 2 (для невеликих обсягів). Інтеграція через PKCS#11 або cloud-specific API.
Комбінація HSM + MPC — оптимальна для інституційного використання: ключові частки зберігаються в HSM на різних серверах/юрисдикціях, підпис через TSS. Це забезпечує відповідність регуляторним вимогам (наприклад, для крипто-кастодіанів).
Інтеграція з dApps: WalletConnect та стандарти
Будь-який гаманець повинен вміти взаємодіяти з dApps. Стандарт — WalletConnect v2 (Sign API): QR-код або deep link, peer-to-peer зашифрований канал через relay сервер. Для браузерних розширень — EIP-1193 (Ethereum Provider API).
На фронтенді використовуємо wagmi + viem — один інтерфейс для MetaMask, WalletConnect, Coinbase Wallet, injected providers. Для Account Abstraction — EIP-5792 (wallet capabilities) та EIP-7677 (paymaster service).
Процес розробки
-
Threat model — хто користувач (B2C, B2B, institutional), які операції, яка допустима risk model. Від цього залежить архітектура.
-
Вибір та проектування схеми зберігання ключів — MPC, HSM, мультисиг або їх комбінація.
-
Розробка Account контракту (якщо EIP-4337) або інтеграція MPC-бібліотеки.
-
Backend — MPC-координація, управління сесіями, paymaster-сервіс (якщо потрібен).
-
Мобільний/браузерний застосунок — UI з інтеграцією WalletConnect, біометрії, QR.
-
Інтеграція з dApps — EIP-1193, WalletConnect v2.
-
Аудит контрактів та криптографічних реалізацій — обов'язковий етап. MPC-бібліотеки мають відомі вразливості (GG18 піддається атаці при malicious participant без abort protocol). Використовуємо бібліотеки з актуальними security review (CGGMP21). Досвід проходження аудитів у Certik, Hacken, Trail of Bits — підтверджуємо сертифікатами.
Що входить в роботу (deliverables)
- Вихідні коди смарт-контрактів (Solidity/Rust) з документацією
- Backend-сервіс MPC-координації (на Go або Rust) з API
- Мобільний застосунок (iOS/Android) або браузерне розширення
- Інтеграція з WalletConnect, Ledger/Trezor (за потреби)
- Підготовка до аудиту безпеки (звіт зі списком вразливостей)
- Документація адміністратора та користувача
- Доступ до репозиторію, CI/CD, моніторинг (Tenderly, Etherscan API)
- Навчання вашої команди (2-3 сесії)
- Підтримка після запуску — 1 місяць
Строки та вартість
| Тип рішення |
Строки (робочі тижні) |
| Custodial з базовим UI |
4–8 |
| Non-custodial з MPC-інтеграцією |
8–16 |
| EIP-4337 Account з paymaster |
6–12 |
| Institutional (HSM + MPC + compliance) |
від 16 |
Вартість розраховується індивідуально під ваш проект. Оцінимо за 1 день — зв'яжіться з нами. Надаємо гарантію на код та timeline.
Типові помилки при розробці криптогаманців (і як їх уникнути)
-
Використання застарілих MPC-бібліотек — GG18 без abort protocol. Обираємо CGGMP21 або tss-lib з актуальними audit report.
-
Жорстка прив'язка до одного блокчейну — не закладають абстракцію під L2/сайдчейни. Використовуємо viem/wagmi для кросс-чейн.
-
Ігнорування MEV-атак — при використанні мультисига без таймлоків. Додаємо tx simulation (Tenderly) та sandwitching protection.
-
Відсутність fallback-механізму відновлення — для Account Abstraction не налаштовують social recovery. Закладаємо з першого релізу.
Усуваємо ці граблі на етапі проектування — під кожен проект складаємо threat model та security checklist.
Потрібен надійний гаманець без компромісів? Отримайте консультацію нашого архітектора — розберемо вашу задачу та запропонуємо архітектуру з точним кошторисом. Залишайте заявку — відповімо протягом дня.