Інтеграція з Pimlico (AA інфраструктура)
Pimlico — інфраструктурний провайдер для Account Abstraction: bundler (упаковує UserOperations у транзакції) та paymaster (спонсирує газ). Це managed сервіс поверх ERC-4337, який знімає необхідність запускати власний bundler та управляти paymaster контрактом.
Що дає Pimlico
Bundler API — приймає UserOperations, валідує, упаковує у bundle транзакції та відправляє on-chain. Підтримує eth_sendUserOperation, eth_estimateUserOperationGas, eth_getUserOperationByHash — стандартний ERC-4337 інтерфейс.
Paymaster API — спонсирування газу без необхідності ETH на кошельку користувача. Два режими: verifying paymaster (підписує дозвіл спонсирувати конкретну операцію) та ERC-20 paymaster (користувач платить газ у USDC/іншому токені).
Alto — open-source bundler Pimlico, який можна розгорнути самостійно якщо потрібна незалежність від їхної інфраструктури.
Інтеграція через permissionless.js
Pimlico підтримує permissionless.js — TypeScript бібліотеку для роботи з AA:
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,
});
Створення смарт-рахунку (на базі Safe або Kernel):
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,
},
});
// Відправка транзакції без ETH на кошельку
const txHash = await smartAccountClient.sendTransaction({
to: "0xTarget",
value: 0n,
data: "0xCalldata",
});
Інтеграція Paymaster
Для спонсорованих транзакцій — paymaster підписує дозвіл спонсирувати конкретний UserOperation:
// Отримання спонсорства від Pimlico
const sponsorResult = await paymasterClient.sponsorUserOperation({
userOperation: userOp,
});
// sponsorResult містить:
// - paymasterAndData (для EntryPoint V0.6)
// - paymaster + paymasterData + paymasterVerificationGasLimit + paymasterPostOpGasLimit (V0.7)
ERC-20 paymaster дозволяє користувачам платити газ в USDC. Pimlico підтримує це через pimlicoPaymasterClient.getTokenQuotes для отримання курсу та approveTokenPaymaster для одобрення токена.
Лімити та ціноутворення
Pimlico працює за freemium моделлю: безплатний tier з лімітами на кількість UserOperations на день. Production вимагає API key з оплатою за операцію або фіксованого плану. При виборі paymaster — Pimlico бере комісію поверх реальної вартості газу.
Графік інтеграції базового AA флоу з Pimlico bundler та paymaster — 1-2 тижні. Включає вибір смарт-рахунку (Safe, Kernel, Biconomy), настройку paymaster політик, тестування на testnets.







