> For the complete documentation index, see [llms.txt](https://docs.hyperunit.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperunit.xyz/developers/api/operations/deposit-lifecycle.md).

# Deposit Lifecycle

{% stepper %}
{% step %}

### SourceTxDiscovered

This is the initial state of an operation, which is created when a deposit is discovered in a block. A deposit is identified as follows:

* **Bitcoin:** A [Bitcoin output](https://learnmeabitcoin.com/technical/transaction/input/vout/) - greater than the minimum 0.002 BTC - to a Unit deposit address.
* **Ethereum**: An ETH transfer from an EOA or contract - greater than the minimum 0.05 ETH - to a unit deposit address. Ethereum deposits uniquely correspond to a [trace](https://docs.alchemy.com/reference/trace-block).
* **Solana:** A solana transfer to a Unit deposit address greater than 0.2 SOL
  * **Fart:** An SPL transfer of fart to a Unit deposit address greater than 20 FART
  * **PUMP:** An SPL transfer of pump to a Unit deposit address greater than 10000 PUMP

Once a sourceTx is discovered, the deposit operation goes through validation, which includes checks for [sanctioned addresses](/legal/regulatory-compliance.md).&#x20;
{% endstep %}

{% step %}

### WaitForSrcTxFinalization

A transaction is considered unconfirmed until it has been included in a block on the source blockchain, at which point it has one confirmation. Each additional block is another confirmation. Confirmation requirements per source-chain are defined below

* **Bitcoin:** 2 confirmations
* **Ethereum:** 14 confirmations
* **Solana:** 32 confirmations
  {% endstep %}

{% step %}

### BuildingDstTx

The guardians are constructing the Hyperliquid transaction payload to fulfill the deposit.
{% endstep %}

{% step %}

### AdditionalChecks

Additional verification steps before Guardians sign the Hyperliquid transaction.
{% endstep %}

{% step %}

### SignTx

The guardians are performing the MPC signature event for the Hyperliquid transaction.
{% endstep %}

{% step %}

### BroadcastTx

The guardian network is submitting the destination transaction to the Hyperliquid network.
{% endstep %}

{% step %}

### WaitForDstTxFinalization

Unit requires 10 confirmations for a Hyperliquid transaction to be considered final.
{% endstep %}

{% step %}

### Done

The sweep of the source transaction has been performed and is finalized on the source network. The operation's state is officially "done" - this state is terminal.
{% endstep %}
{% endstepper %}
