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

# Lifecycle of an Arcium computation

> How computations transition from definition to commissioning, execution, and completion

The **Computation Lifecycle** in the Arcium Network governs how computations transition from definition to execution and completion. This structured process ensures reliable coordination, resource optimization, and precise post-execution handling.

## Lifecycle overview

The lifecycle of a computation in the Arcium Network follows a clear progression of steps. These steps ensure computations are securely defined, efficiently commissioned, and accurately executed.

Here are the five key stages:

1. **Definition**: A computation is defined within the context of an MXE, providing a blueprint for its execution (see the [Defining and commissioning computations section](/computations/defining-and-commissioning-computations) for details). This includes specifying inputs, outputs, logic, versioning, and access permissions.
2. **Commissioning**: A defined computation is instantiated by specifying arguments, callback requirements, and fee parameters required for queueing.
3. **Mempool Placement**: Commissioned computations are queued in the Cluster's mempool, where they stay eligible until a Node picks them up or they expire after 180 slots. If a computation is still queued when it expires, the payer can reclaim its computation fee.
4. **Execution**: Nodes execute the computation securely, ensuring privacy and accuracy.
5. **Post-Execution Callbacks**: Following execution, actions defined for success or failure cases are carried out so downstream programs can update state or notify clients.

## Post-execution callbacks

Once a computation is executed, the system triggers callbacks based on the outcome:

* **Success Callbacks**: Handle actions for successfully executed computations. These may include:
  * **Dynamic Onchain Actions**: Triggering onchain processes based on computation results.
  * **Static Onchain Actions**: Fixed onchain processes to address success scenarios.
* **Failure Callbacks**: Manage actions when a computation fails. These are always static and include:
  * **Static Onchain Actions**: Fixed onchain processes to address failure scenarios.

Callbacks ensure that the system remains flexible and responsive, even in the event of unexpected outcomes.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.