> For the complete documentation index, see [llms.txt](https://docs.botanixlabs.com/botanix/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.botanixlabs.com/botanix/get-to-know-botanix/intermediate/utxo-vs-account-based-model.md).

# UTXO vs Account Based Model

{% hint style="info" %}
**What does Botanix use?**

Thanks to the [Spiderchain](/botanix/get-to-know-botanix/intermediate/the-spiderchain.md), we can make the transition from Bitcoin's UTXO model to an account model used in the EVM. This means that the Botanix EVM uses an account based model.&#x20;
{% endhint %}

<figure><img src="/files/VvXtffp5yCMzoY8EtOpb" alt=""><figcaption></figcaption></figure>

The UTXO and account-based models represent the two most popular bookkeeping methods in the blockchain space. The two models represent two fundamentally different ways on how blockchains process and record transactions.

In a nutshell, the UTXO model works similarly to cash transactions, while the account-based model works similarly to how bank accounts work.

*Do you prefer to watch a movie explaining the differences? Click* [*here*](https://docs.botanixlabs.xyz/botanix-labs/get-to-know-botanix/basic-knowledge/utxo-vs-account-based-model#movie)*!*&#x20;

### How Does the UTXO Model Work?

UTXOs work similarly to cash, where each UTXO is like a unique fiat paper bill that users can spend. Each user in UTXO-based blockchains can keep track of its balance by adding up the cryptocurrencies in their possession.

For example, assume a guy named Bob goes to a fast-food restaurant looking to buy a burger that costs $10. However, Bob only has a $20 bill, meaning that when he pays for the burger, the restaurant must give him a $10 bill as a change.

In UTXO-based blockchains, the $20 bill and the $10 change would be represented as two separate UTXOs. So, in Bob’s case, his cryptocurrency account balance is just a sum of his UTXOs, just like his physical wallet is just a sum of all the different bills that he puts into his wallet.

In UTXO-based blockchains like Bitcoin, for example, there's no notion of identity. There are only UTXOs or unspent coins designated to different wallet addresses. The critical point is that the Bitcoin protocol doesn't track users' balances but rather individual coins represented as UTXOs which are attributed to different addresses.

### How Does the Account-Based Model Work?

The account-based model is the more popular blockchain bookkeeping method between the two. Initially popularized by Ethereum, the account model is used by many, if not most, blockchains today to record both transactions and state changes.

The bookkeeping in the account model works just like bank accounts, where money transfers are recorded as debits and credits on different users' accounts on the bank's ledger. For example, when Alice wants to send $10 to Bob, the bank credits or deducts $10 from Alice's account and debits or adds $10 to Bob's name in its ledger.

The same happens in account-based blockchains; only the ledger that records the users' balances is distributed among many entities (full nodes). The key point is that account-based blockchains don't track coins but instead balance changes on users' accounts. In this model, the notion of identity is present, and one user is typically associated with a single blockchain account or address.

### Key Differences in UTXO vs. Account-based Blockchains

In examining the benefits and drawbacks of UTXO and account-based models, several key differences arise, highlighting the unique characteristics of each accounting system.

For instance, in the UTXO model, crypto wallets typically generate new addresses for every user transaction, making it more difficult for third parties to trace or link transactions to a specific individual. This characteristic provides a **higher privacy level than the account model**, where users typically interact with the blockchain through a single account with a transparent balance.

Additionally, the UTXO model naturally supports **parallel transaction processing**, which refers to the simultaneous processing of many blockchain transactions, allowing for increased efficiency and throughput. This is in contrast to account-based blockchains that process transactions sequentially or one transaction after another linearly.

Parallel transaction processing can be particularly beneficial in situations with a high volume of transactions, as it enables the network to accommodate more transactions per second and handle increasing demand. Additionally, it can contribute to faster transaction confirmation times, a more responsive and efficient network, and better resource utilization. That being said, achieving optimal parallel processing requires efficient consensus algorithms and effective resource management techniques, meaning that UTXO-based blockchains aren't necessarily more scalable than current account-based ones.

On the other hand, account-based blockchains are generally considered **more programmable or better suited for smart contracts** than UTXO-based blockchains. This is because account-based blockchains are stateful, which allows for more complex interactions between user accounts and smart contracts and makes it easier for developers to create programmable logic and build sophisticated decentralized applications. In other words, the account-based model is generally more straightforward for developers to work with because the transactions resemble direct transfers between accounts or function calls to smart contracts, which more closely mimics traditional programming paradigms.

### Conclusion

In conclusion, the differences between UTXO and account-based blockchains stem from their distinct approaches to managing transactions and states. The UTXO model offers enhanced privacy and parallelism due to its structure, which focuses on tracking unspent outputs and allowing for simultaneous processing of unrelated transactions. On the other hand, the account-based model simplifies transactions by maintaining a global state of accounts and balances, making it more intuitive for developers and better suited for smart contracts and complex applications.

Ultimately, understanding the nuances between these models is crucial for developers, users, and stakeholders to make informed decisions when building or participating in blockchain ecosystems.

### Movie

{% embed url="<https://youtu.be/R-51IfdNoH0>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.botanixlabs.com/botanix/get-to-know-botanix/intermediate/utxo-vs-account-based-model.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
