Skip to content

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. 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. 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. 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. 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. 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. 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. [1] ERC-4337: Account Abstraction Using Alt Mempool, Ethereum EIPs
  2. [2] ERC-7715: Request Permissions from Wallets, Ethereum EIPs
  3. [3] ERC-7710: Smart Contract Delegation, Ethereum EIPs
  4. [4] ERC-7579: Minimal Modular Smart Accounts, Ethereum EIPs
  5. [5] CDP Paymaster, Coinbase Developer Platform docs
  6. [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.