# 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 %}


---

# Agent Instructions: 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:

```
GET https://docs.hyperunit.xyz/developers/api/operations/deposit-lifecycle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
