> For the complete documentation index, see [llms.txt](https://docs.bladeblockchain.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bladeblockchain.tech/detailed-design/evm-compatible-data-structures/blade/state-transition.md).

# State Transition

A `Transition` instance is responsible for processing a **series of transactions** sequentially on a given **snapshot**.

## Structure

* A `Transition` consists of:
  * A **snapshot** (the base state on which the transition operates)
  * A `Txn` instance, which references the **same snapshot**

## Behavior

* During transaction execution, the `Transition` maintains a set of **receipts**.
* All **read** or **update** operations on the WST are performed through the `transition.state.Txn` object.
* `state.Txn` is an instance of an iradix, ensuring:
  * The original **snapshot remains unchanged**
  * **All changes are captured** in an isolated, accessible structure

## Diagram

The structure and data members of the `Transition` object are shown in the following image:

<figure><img src="https://3820615377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4nX3GBMyBbMsZe2u4kJt%2Fuploads%2Fgit-blob-7e7c37980ad13752e4a8bebf933f4596e14a3193%2Fstate-transition.png?alt=media" alt=""><figcaption><p>Transition data structure.</p></figcaption></figure>
