Skip to content

Smart Account Integration

The embedded wallet gives users a KMS-backed EOA. Combined with ERC-4337, that EOA becomes the owner of a smart contract account — one that can send transactions without gas.

OxGasClient handles all of this. It ties together authentication, signer wiring, and smart account creation so you don’t have to manage each piece separately.

Every user who logs in gets two addresses:

  1. EOA (Externally Owned Account) — the address backed by AWS KMS. This is what auth.getAddress() returns. It holds no funds in normal use.
  2. Smart Account — a deployed (or counterfactually deployed) ERC-4337 contract, owned by the EOA above. This is the address that holds tokens and sends transactions.

The smart account address is deterministic. Given the same EOA, the same account index, and the same chain, the address will always be the same — even before the contract is deployed on-chain.

Smart accounts can pay transaction fees in ERC-20 tokens, have transactions sponsored by a paymaster, and batch multiple calls into one. With the 0xGasless paymaster, all of this is set up for you — the user never touches ETH to pay gas.