A comprehensive specification of the infrastructure, API, and SDK capabilities required to support high-velocity development for our Smart Account application.
Reliable generation and resolution of Smart Account addresses before deployment. We require a consistent address derivation scheme based on a unique owner identifier (EOA or Passkey) and an index/salt.
predictAccountAddress(owner, salt)Native support for "atomic batch" operations. The SDK must allow bundling multiple calls (e.g., approve + swap) into a single UserOperation without manual calldata encoding.
We require a turnkey solution to allow users to pay gas fees using a specific stablecoin (e.g., BRLA). This must be configurable via a dashboard or API without requiring us to deploy and maintain custom Oracle/Paymaster smart contracts.
This section represents the highest friction point in development. Replacing "Direct RPC Calls" with "Indexed Data APIs" drastically improves frontend performance and reduces backend complexity.
An API to instantly fetch the consolidated asset state of a Smart Account. Development is significantly slowed if we must manually query individual token contracts via RPC.
GET /accounts/{address}/portfolioUsers require a human-readable feed of their past activity. We need an indexed history API that decodes UserOperations into understandable events.
BRLA is our application's native stablecoin. Complete indexing and gas payment support for this token is mission-critical.
BRLA is a Brazilian Real-pegged stablecoin deployed on Base Chain (Chain ID: 8453). It serves as the primary medium of exchange within our application ecosystem.
0xfCB34c47f850f452C15EA1B84d51231C38A61783The Portfolio API (Section 3.1) must natively recognize and index BRLA balances. We cannot afford to treat BRLA as a "generic ERC20" that requires manual contract address configuration.
We require dedicated webhook support for BRLA Transfer events. This is distinct from the generic "Asset Received" webhook (Section 4.1) and should provide BRLA-specific metadata.
Transfer(address indexed from, address indexed to, uint256 value)0xfCB34c47f850f452C15EA1B84d51231C38A61783to parameter matches a registered Smart Account.Users must be able to pay transaction fees using their BRLA balance instead of holding native ETH. This requires a properly configured ERC20 Paymaster with BRLA whitelisted.
Our application logic relies on detecting when a user tops up their wallet. We require a reliable webhook system that notifies our backend whenever a Smart Account receives value.
ASSET_RECEIVEDProactive notification of UserOperation finality. We cannot rely on the client keeping the browser window open to poll for transaction receipts.
USER_OP_SUCCESS and USER_OP_REVERTED.