# Source: https://docs.near.org/protocol/account-model.md

---
id: account-model
title: NEAR Accounts
sidebar_label: Overview
description: "Learn about NEAR Protocol's account model, including named and implicit accounts, access keys, permissions, and how NEAR accounts differ from other blockchain platforms."
---

Users participate in the NEAR ecosystem through their NEAR accounts. These accounts are identified by a [unique address](./account-id.md), can optionally hold a [smart contract](../smart-contracts/what-is.md), and are controlled through [Access Keys](./access-keys.md).

By signing [transactions](./transactions.md) with their account, users can:

1. Send and receive **digital assets** (such as tokens or collectibles)
2. Create and interact with on-chain applications known as **smart contracts**
3. Control accounts in **other chains** (such as Ethereum or Bitcoin) ✨
4. Help onboard new users by **covering the costs** of their transactions (gas fees)

:::tip Want to create an account?
Check out our tutorial on [Creating a NEAR Account](../tutorials/protocol/create-account.md) to get started!
:::

---

## Account Model Overview

Let's take a closer look at the different elements that compose the NEAR account model.

![img](@site/static/assets/docs/welcome-pages/accounts.png)

### [Account ID](account-id.md)
NEAR **natively** implements multiple types of accounts, including:
1. **Named accounts** such as `alice.near`, which are simple to remember and share
2. **Implicit accounts** such as `fb9243ce...`, which are derived from a private key
2. **Ethereum-like accounts** which are compatible with Ethereum wallets

<hr className="subsection" />

### [Multiple Keys](access-keys.md)
NEAR accounts can have multiple [keys](access-keys.md), each with their own set of permissions:
- You can easily swap keys if one gets compromised
- You can use keys as authorization tokens for third-party applications

<hr className="subsection" />

### [Smart Contracts](../smart-contracts/what-is.md)
NEAR accounts can optionally hold an application - known as a [smart contract](../smart-contracts/what-is.md) - which can be written in Javascript or Rust.

---

## Comparison With Ethereum {#compared-to-ethereum}

If you're familiar with development on Ethereum, it's worth making a quick note about how accounts are different. The table below summarizes some key differences:

|                 | Ethereum Account         | NEAR Account                                                                           |
|-----------------|--------------------------|----------------------------------------------------------------------------------------|
| Account ID      | Public Key (`0x123...`)  | - Native named accounts (`alice.near`) <br />- Implicit accounts (`0x123...`)          |
| Secret Key      | Private Key (`0x456...`) | Multiple key-pairs with permissions:<br />- `FullAccess` key<br />- `FunctionCall` key |
| Smart Contracts | Synchronous execution    | Asynchronous execution                                                                 |
| Gas Fees        | In the order of dollars  | In the order of tenths of a cent                                                       |
| Block Time      | ~12 seconds              | ~600 milliseconds                                                                      |