> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onebalance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Account Models

> Learn about our different account types, including 4337 and 7702 and how to choose the right setup for your app.

## Available Configurations for EVM

| Configuration | Validator          | Version    | Deployment Type                                     | Resource Lock Options |
| :------------ | :----------------- | :--------- | :-------------------------------------------------- | :-------------------- |
| Basic         | ECDSAValidator     | Kernel 3.1 | [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) | Can be enabled        |
| EIP-7702      | ECDSAValidator     | Kernel 3.3 | [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) | Can be enabled        |
| Role-Based    | RoleBasedValidator | Kernel 3.1 | [EIP-4337](https://eips.ethereum.org/EIPS/eip-4337) | Always enabled        |

<img src="https://mintcdn.com/onebalance-d7e5d4d0/fj4XqnBdVauIrF8s/images/Screenshot2025-05-29at12.32.52.png?fit=max&auto=format&n=fj4XqnBdVauIrF8s&q=85&s=33fdcd0bdd6c2a2de3b05ead24bd8aef" alt="Screenshot2025 05 29at12 32 52 Pn" width="1730" height="1076" data-path="images/Screenshot2025-05-29at12.32.52.png" />

<Note>
  OneBalance supports a modular architecture designed to accommodate various account types. We are happy to support other account versions on demand or advise which one works best for your application.
</Note>

## Choosing the Right Configuration

<Tip>
  When selecting an account model for your integration, consider your specific requirements for compatibility, performance, and access control.
</Tip>

| Configuration | Pros                                                                                                                                                          | Cons                                                                                                                      |
| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------ |
| Basic         | • Most adopted 4337-type account<br />• Simplest in use and UI/UX<br />• Easy to integrate, if already in use within the application                          | • Contract upgrades, if required, are cumbersome                                                                          |
| Role-Based    | • Secure in emergency cases related to WaaS/TEE                                                                                                               | • Consumes slightly more gas                                                                                              |
| EIP-7702      | • Preserves existing EOA addresses<br />• Gas efficient delegation model<br />• Built on ERC-4337 infrastructure<br />• Can act as both EOA and Smart Account | • Recently introduced by the Ethereum account standard, not yet widely battle-proven<br />• Not yet supported on all EVMs |

## Getting Started with Account Models

Follow the [Getting Started guide](/getting-started/introduction), which uses Role-Based configuration.

## Signer Compatibility

The OneBalance Toolkit is designed to work with various signer providers:

| Signer        | Account        | Standard Path (no RL)   | Enabling Resource Lock  |
| :------------ | :------------- | :---------------------- | :---------------------- |
| `turnkey`     | `Basic`        | 🟢 Available            | 🟢 Available            |
|               | `EIP-7702`     | 🟢 Available            | 🟢 Available            |
|               | `Role-Based`   | RL can't be disabled    | 🟢 Available            |
|               | `solana`       | 🟢 Available            | In design               |
| `privy`       | `Basic`        | 🟢 Available            | 🟢 Available            |
|               | `EIP-7702`     | 🟢 Available            | In design               |
|               | `Role-Based`   | RL can't be disabled    | 🟢 Available            |
|               | `solana`       | 🟢 Available            | In design               |
| Other signers | Other accounts | On demand, case by case | On demand, case by case |

## Account Components Explanation

The OneBalance account system consists of several key components that can be combined in different ways:

<CardGroup cols={2}>
  <Card title="Validators" icon="shield-check">
    **Authentication, Access Control, Permissions**

    Validator is a module of smart account
  </Card>

  <Card title="Account Versions" icon="layers">
    **Optimized for various deployment methods**

    Smart Contract Implementation
  </Card>

  <Card title="Deployment type" icon="gauge">
    **How accounts are initialized**\
    Directly affects user deposit (account) address
  </Card>

  <Card title="Resource Lock" icon="gauge">
    **Allows fast path cross-chain execution**

    Requires gatekeeping at the account/signing level
  </Card>
</CardGroup>

### Supported Validator Types

Validators are responsible for authenticating transactions and managing account access:

<CardGroup cols={2}>
  <Card title="ECDSAValidator (Default)" icon="key">
    Uses standard Elliptic Curve Digital Signature Algorithm for authentication, compatible with most existing wallet infrastructures.
  </Card>

  <Card title="RoleBasedValidator" icon="users">
    Allows to have a `user_admin` role (think user cold wallet) next to the signer role to rotate keys and execute trustless rage quit in emergency case.
  </Card>
</CardGroup>

### Supported Smart Account Versions

<CardGroup cols={2}>
  <Card title="Kernel 3.1" icon="box">
    **Compatible with:** Both ECDSAValidator and RoleBasedValidator

    The versatile version that supports multiple validator types and is widely compatible across different configurations.
  </Card>

  <Card title="Kernel 3.3" icon="zap">
    **Optimized for:** EIP-7702 deployments with ECDSAValidator

    A specialized version designed to take advantage of the latest EIP-7702 standard for improved gas efficiency.
  </Card>
</CardGroup>

<Note>
  These account versions are based on an open-source smart contract account [implementation](https://github.com/zerodevapp/kernel).
</Note>

### Deployment Methods

<CardGroup cols={2}>
  <Card title="EIP-4337 (Account Abstraction)" icon="box" href="https://eips.ethereum.org/EIPS/eip-4337">
    The established standard for smart contract accounts across EVM chains. User address in the UI is the Smart Account address, the signer existence is hidden.
  </Card>

  <Card title="EIP-7702" icon="rocket" href="https://eips.ethereum.org/EIPS/eip-7702">
    Extends account abstraction to existing EOAs through delegation. User address in the UI is the EOA address with implementation referenced as a delegated smart contract.
  </Card>
</CardGroup>

### Resource Lock options for Account

<CardGroup cols={2}>
  <Card title="Resource Lock disabled" icon="route">
    Execution happens only traditional way requiring sequential cross-chain transactions. Transactions can be sent both with OneBalance API and standard JSON-RPC.
  </Card>

  <Card title="Resource Lock enabled" icon="bolt">
    Enhanced execution using [Resource Locks](/concepts/resource-locks) for near-instant cross-chain transactions. Once enabled, transactions can be sent only through OneBalance API.
  </Card>
</CardGroup>

<Tip>
  To learn more about how Resource Locks enable Fast Path execution and improve transaction speed\
  and reliability, see our detailed [Resource Locks](/concepts/resource-locks) documentation.
</Tip>

## Solana Support

OneBalance supports Solana accounts. See our [Solana guides](/guides/solana/overview) for implementation details.

## EIP-7702 Support

OneBalance supports [EIP-7702](https://eip7702.io) for applications with existing EOA user bases. See our [EIP-7702 guides](/guides/eip-7702/overview) for implementation details.

## Resources

Ethereum Improvement Proposals

* [EIP-4337: Account Abstraction Using Alt Mempool](https://eips.ethereum.org/EIPS/eip-4337)
* [EIP-7702: Delegated Smart Contract Authentication](https://eips.ethereum.org/EIPS/eip-7702)

Community Resources

* [ERC-4337 Official Website](https://www.erc4337.io)
* [EIP-7702 Official Website](https://eip7702.io)
