StackUp Інтеграція (AA Infrastructure)
StackUp — інфраструктурний провайдер для ERC-4337 Account Abstraction: hosted bundler та paymaster API. Альтернатива Pimlico з подібним набором можливостей. StackUp також підтримує відкриту розробку через userop.js — їхній TypeScript SDK для роботи з UserOperations.
Ключові компоненти
Bundler — приймає UserOperations, симулює їх (перевіряє валідність без on-chain транзакції), формує bundle та відправляє в EntryPoint контракт. StackUp підтримує EntryPoint v0.6 та v0.7.
Paymaster — спонсирування gas. StackUp надає Verifying Paymaster, який підписує дозвіл сплатити газ за конкретну UserOperation. Кошти спонсора зберігаються на paymaster контракті, поповнюються через депозит.
Інтеграція через userop.js
import { Client, Presets } from "userop";
// Створення AA клієнту
const client = await Client.init(
`https://api.stackup.sh/v1/node/${STACKUP_API_KEY}`,
{
entryPoint: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
}
);
// Створення SimpleAccount (найпростіша реалізація AA wallet)
const simpleAccount = await Presets.Builder.SimpleAccount.init(
signer, // ethers Signer
`https://api.stackup.sh/v1/node/${STACKUP_API_KEY}`,
{
paymasterMiddleware: Presets.Middleware.verifyingPaymaster(
`https://api.stackup.sh/v1/paymaster/${STACKUP_API_KEY}`,
{ type: "payg" } // pay-as-you-go спонсирування
),
}
);
// Відправка транзакції
const response = await client.sendUserOperation(
simpleAccount.execute(
"0xTargetAddress",
ethers.utils.parseEther("0"),
"0xCalldata"
)
);
const receipt = await response.wait();
console.log(`Transaction included in block ${receipt.receipt.blockNumber}`);
Відмінності від Pimlico
| Аспект | StackUp | Pimlico |
|---|---|---|
| SDK | userop.js | permissionless.js |
| Open-source bundler | stackup-bundler | Alto |
| ERC-20 paymaster | Через кастомний paymaster | Вбудована підтримка |
| Smart account підтримка | SimpleAccount, Safe | Safe, Kernel, Biconomy |
| Документація | Хороша | Відмінна |
Власний bundler через stackup-bundler
Для проектів, що вимагають незалежності від зовнішної інфраструктури, StackUp надає open-source bundler на Go:
# Запуск через Docker
docker run -e ERC4337_BUNDLER_ETH_CLIENT_URL=https://mainnet.infura.io/v3/KEY \
-e ERC4337_BUNDLER_PRIVATE_KEY=0x... \
-p 4337:4337 stackupwallet/stackup-bundler:latest
Bundler підключається до Ethereum ноди, управляє mempool UserOperations, виконує simulation перед включенням у bundle.
Інтеграція з StackUp займає 1–2 тиж для стандартного AA флоу. Вибір між StackUp та Pimlico практично визначається зручністю SDK, ціноутворенням та підтримуваними smart account implementations.







