# Account Types

When creating an embedded wallet, you choose an account type that determines the wallet's features. The available account types depend on the chain.

## Ethereum

Ethereum (EVM) chains support all three account types. Set the account type with the `accountType` field of `walletConfig.ethereum` — see [Setting the account type](/docs/products/embedded-wallet/react/wallet/ethereum#setting-the-account-type).

| Feature | EOA | Smart Account | Delegated Account |
| --- | --- | --- | --- |
| **Gas sponsorship** | No | Yes | Yes |
| **Transaction batching** | No | Yes | Yes |
| **Session keys** | No | Yes | Yes |
| **Chain agnostic** | Yes | No ([supported chains](/docs/configuration/chains)) | Limited |
| **Onchain deployment** | None | Required | Temporary |
| **Key rotation** | N/A | Supported | Not supported |

### EOA

Externally Owned Accounts are standard accounts controlled directly by a private key. They are simple and gas-efficient, but limited in programmability.

* Chain agnostic: once created, the same address works across every EVM chain, even custom ones
* No onchain deployment needed
* Users pay their own gas

**Set it in code:** `accountType: AccountTypeEnum.EOA` → [Ethereum wallet configuration](/docs/products/embedded-wallet/react/wallet/ethereum#eoa-wallets-on-a-custom-evm-chain)

### Smart Account

Smart wallets provisioned through Openfort are [ERC-4337-compatible](https://www.erc4337.io/) smart contract accounts. They support **account abstraction**, which enables:

* **Gasless transactions** (via [gas sponsorship](/docs/configuration/gas-sponsorship))
* **Transaction batching**
* **Permission delegation with session keys**

ERC-4337 introduces a new infrastructure layer — entry points, bundlers, and paymasters — that abstracts complex wallet logic from the base protocol. You can also use third-party implementations of smart accounts.

**Set it in code:** `accountType: AccountTypeEnum.SMART_ACCOUNT` → [Setting the account type](/docs/products/embedded-wallet/react/wallet/ethereum#setting-the-account-type)

### Delegated Account (ERC-7702)

With [ERC-7702](https://eips.ethereum.org/EIPS/eip-7702), EOAs can be **temporarily upgraded into smart EOAs**, enabling many of the same benefits as smart wallets. The EOA remains in control and no smart contract is permanently deployed. **Key rotation is not supported** under 7702, unlike fully programmable smart wallets.

**Set it in code:** `accountType: AccountTypeEnum.DELEGATED_ACCOUNT` → [Sign EIP-7702 authorization](/docs/products/embedded-wallet/react/wallet/actions/eip-7702-authorization)

## Solana

Solana wallets are **EOAs**. Smart accounts and delegated accounts are Ethereum-only.

### EOA

The Solana embedded wallet is a standard Ed25519 keypair account. Gasless transactions are still available through [Kora gas sponsorship](/docs/products/embedded-wallet/react/wallet/actions/send-transaction/solana#gasless-solana-transactions) rather than account abstraction.

**Set it in code:** no `accountType` needed → [Solana wallet configuration](/docs/products/embedded-wallet/react/wallet/solana)
