Payment protocol · checked 9 November 2026
Agent payment safety checks for Smart accounts (ERC-4337) and session keys
Smart contract accounts that run UserOperations through a bundler and paymaster, with delegated permissions (ERC-7715, ERC-7710) used to give an agent a scoped, expiring spending key.
What your agent needs to know about Smart accounts (ERC-4337) and session keys
- When it counts as settled
- A UserOperation is included by a bundler through the EntryPoint's handleOps in a normal transaction, so finality is the host chain's, not the bundler's acceptance. Treat a UserOperation as final when its transaction receipt shows success and the chain's finality stage is met. A bundler accepting a UserOperation only means it passed simulation.[1]
- Fees
- Gas is paid from the account's EntryPoint deposit or by a paymaster. Gas fields include verificationGasLimit, callGasLimit, preVerificationGas and EIP-1559 fee fields. Unused callGasLimit or paymasterPostOpGasLimit above 40,000 incurs a 10% penalty. The CDP Paymaster, for one, sponsors Base only and bills a 7% fee.[1],[5]
- Stablecoins
- Not specific to a token. Permission types in ERC-7715 examples include native-token, ERC-20 and ERC-721 allowances. Check the token's own issuer for freeze powers.[2]
How agent payments go wrong on Smart accounts (ERC-4337) and session keys
1. Delegation revoked or expired between simulation and execution
ERC-7710 warns dApps not to assume a past delegation still grants rights, to simulate before submitting, and to expect invalidation between simulation and execution. An agent should handle the failure and request new permission, not loop.[3]
2. Permission scope broader than needed
ERC-7715 says dApps should request only the permissions they need with a reasonable expiration, and that wallets must display and enforce them. An agent session key with no expiry or a large allowance is a standing drain risk. Set an expiry rule and small allowance.[2]
3. Malicious or buggy modules
ERC-7579 security notes include delegatecall risk, reentrancy in onInstall, hooks that revert and block execution, and modules that block their own uninstall. Install only validators and hooks with a published security review, and test removing them.[4]
4. Standards are still drafts
ERC-7715, ERC-7710 and ERC-7579 are marked Draft, and the 7710 and 7579 security sections say they need discussion. Wallet support for wallet_requestExecutionPermissions varies and unsupported wallets return an error. Do not build on the assumption that a user's wallet supports it.[2],[3],[4]
5. Paymaster or bundler errors read as payment failures
The reference EntryPoint returns errors prefixed AA1x for account creation through initCode, AA2x for account validation and AA3x for paymaster validation. ERC-4337 has bundlers throttle or ban paymasters and factories by reputation. Parse the code before retrying so the agent does not resend a doomed operation.[6],[1]
6. Nonce lanes confuse retries
The nonce splits into a 192-bit key and 64-bit sequence, so an account can run parallel lanes. Replacing a stuck operation requires the same key and sequence. Track key and sequence per lane.[1]
Pre-flight checklist for a Smart accounts (ERC-4337) and session keys agent
- Give the agent a delegated key with an expiry and a per-period token allowance, never the owner key.
- Simulate every UserOperation and redemption before sending.
- Map AA1x, AA2x and AA3x errors to retry or stop; do not blindly resend.
- Confirm the wallet supports the permission methods you need before depending on them.
- Allowlist target contracts for any sponsored operation.
- Know how to revoke the delegation and test the revoke path.
- Wait for chain finality on large transfers, not just bundler acceptance.
Run the checks now, free
The free tools run in your browser: nothing you type leaves your browser, and wallet reads go only to a public RPC.
- The Wrong-Money Test
Write down what happens when your agent pays the wrong amount, the wrong address or the wrong token on Smart accounts (ERC-4337) and session keys, and see whether the answer holds up.
- Agent Spend-Cap Stress Test
Work out how much your agents can really move in one window once retries, parallel runs and per-key limits stack up.
- Agent Money Trace
Joins on-chain transfers on Base, Ethereum, Arbitrum, OP Mainnet or Polygon to your run log, so every payment maps to a decision.
Want a second pair of eyes on how your agent pays on Smart accounts (ERC-4337) and session keys? Book the free 48-hour integration review (opens Cal.com in a new tab).
Explorers to confirm a payment
Sources
- [1] ERC-4337: Account Abstraction Using Alt Mempool, Ethereum EIPs
- [2] ERC-7715: Request Permissions from Wallets, Ethereum EIPs
- [3] ERC-7710: Smart Contract Delegation, Ethereum EIPs
- [4] ERC-7579: Minimal Modular Smart Accounts, Ethereum EIPs
- [5] CDP Paymaster, Coinbase Developer Platform docs
- [6] EntryPoint.sol (reference implementation), eth-infinitism (GitHub)
Checked against these sources on 9 November 2026. Networks change: confirm against the live docs before you rely on a number. This page is a checklist from public documentation. It is not a security audit, legal, compliance or investment advice.