# Accounts & Identities

"Accounts" are a fundamental concept in the IoTeX blockchain, represented by a pair of cryptographic keys, so called "**private key"** and a "**public key",** utilized to sign and verify [blockchain actions](/blockchain/learn-iotex/core-concepts/blockchain-actions.md).

IoTeX accounts could be used by individual users, machines, or business entities, facilitating interactions with the blockchain and dApps. Like Ethereum, IoTeX's architecture includes two types of accounts:

* **Externally Owned Accounts (EOAs):** Controlled by private keys, these accounts represent individual users or entities.\
  [Learn more about Account Cryptography](/blockchain/build/reference-docs/native-iotex-development/account-cryptography.md).
* **Contract Accounts:** These are associated with smart contracts deployed on the blockchain and operate based on their programmed logic. Each contract account maintains a balance, nonce, and storage, contributing to IoTeX's global state.

{% hint style="info" %}
💡 **Note**: IoTeX introduced **account abstraction** with [IIP-14](https://iotex.io/blog/iip-14-proposes-user-friendly-web3-onboarding), enabling more flexible and user-friendly interactions with the blockchain. This upgrade opens the door for seamless onboarding, programmable authentication, and automated execution — all within a unified account model.
{% endhint %}

## Account Abstraction

IoTeX supports Account Abstraction as defined by  [**ERC-4337**](https://eips.ethereum.org/EIPS/eip-4337) v0.6.0.

{% hint style="info" %}
*"Account Abstraction (AA)* *allows users to use smart contract wallets containing arbitrary verification logic instead of EOAs as their primary account.*"&#x20;
{% endhint %}

By enabling people to use Smart Contracts as their primary accounts, ERC-4337 introduces many user experience benefits.

ERC-4337 runs on top of the blockchain and does not require any changes to the blockchain itself. Currently, the IoTeX Account Abstraction code is based on ERC-4337 0.6.0 release version.

## ioID Identities

The blockchain also supports ioID identities, providing a secure and verified identity system that integrates seamlessly with various DePIN projects and applications.

[↗ Learn more about ioID](broken://pages/GCnah9r4BHZ9ZuGRPMx0)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.iotex.io/blockchain/learn-iotex/core-concepts/accounts-and-identities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
