Skip to main content
b402 supports two wallet types for making payments: traditional EOA wallets and ERC-7579 Nexus smart wallets. Each has different capabilities and trade-offs.

EOA Wallets

An Externally Owned Account (EOA) is a standard Ethereum wallet controlled by a private key (e.g., MetaMask, hardware wallet, or a key managed by an agent).

How EOA Payments Work

  1. User signs an EIP-712 TransferWithAuthorization message off-chain
  2. The signed payload is sent to the facilitator
  3. The facilitator calls transferWithAuthorization() on the Relayer contract
  4. The Relayer verifies the signature and executes the token transfer

Requirements

  • Token approval required. The user must approve the Relayer contract to spend their tokens (one-time per token).
  • Tokens must be in the EOA. The wallet needs a balance of the payment token.
  • No gas needed for payment. The facilitator pays gas. But the initial approval transaction costs gas.

Smart Wallets (ERC-7579 Nexus)

b402 smart wallets are ERC-7579 modular smart accounts deployed via the Nexus factory. They are deterministic: the wallet address can be computed before deployment.

How Smart Wallet Payments Work

  1. Client sends payment request with wallet address to facilitator
  2. Facilitator builds an unsigned UserOperation (v0.7 unpacked format)
  3. Facilitator injects payment fee and signs paymaster data
  4. Client signs the UserOp hash with their owner key
  5. Facilitator submits to an ERC-4337 bundler
  6. Bundler executes the UserOp on-chain as a batch call (approve + transfer)
  7. Paymaster covers gas, deducting from the payment amount

Key Features

Gasless. Users never need native gas tokens. The paymaster sponsors gas, deducting the cost from the payment token. Batched operations. Token approval and transfer happen in a single transaction. No separate approval step. Deterministic addresses. Wallet addresses are computed from the owner address using a predictable salt:
masterSalt = keccak256("b402-" + reversed(normalizedOwnerAddress))
Deploy on first use. Wallets are computed off-chain and deployed when first needed via the facilitator’s deploy endpoints.

Wallet Types

TypeSaltUse Case
Master walletkeccak256("b402-" + reversedOwner)Primary wallet, one per owner
Sub-walletCustom saltAdditional wallets for specific purposes

Comparison

FeatureEOASmart Wallet
Gas for paymentsGasless (facilitator pays)Gasless (paymaster pays)
Initial setupRequires approval tx (costs gas)No setup needed
Token approvalOne-time per tokenAutomatic (batched in UserOp)
Deploy costNone (already exists)Paid on first use
Address typeStandard ETH addressDeterministic contract address
Batch operationsNoYes (via ERC-7579 execute)

Identity Layer (ERC-8004)

Both EOA and smart wallets can be linked to an ERC-8004 agent identity. This standard enables:
  • On-chain identity minting for agents
  • Reputation-linked signing
  • Delegation (one wallet acting on behalf of another)
See the Agent Identity concept page for details.