Withdrawal Lifecycle

The lifecycle of a withdrawal operation

1

SourceTxDiscovered

This is the initial state of an operation, which is created when a deposit is discovered in a Hyperliquid block. A withdrawal is identified as a Hyperliquid transfer - greater than the minimum for the source-chain - to a Unit withdrawal address.

Once a sourceTx is discovered, the deposit operation goes through validation, which includes checks for sanctioned addresses.

2

WaitForSrcTxFinalization

Unit requires 5000 confirmations for a Hyperliquid withdrawal to be considered final.

3

ReadyForWithdrawQueue

In accordance with throughput limitations of supported networks, destination transactions are staged on a withdraw queue to be triggered in batches. Like sweeps, withdraw queue transactions are triggered every ~3 Bitcoin blocks for bitcoin withdrawals, and ~21 Ethereum slots for ethereum withdrawals.

The operation's positionInWithdrawQueue may be used to inform the expected completion of this state.

4

QueuedForWithdraw

The operation has been included in a withdraw queue batch, the tx-hash of which corresponds to the tx-hash returned by the withdraw queue endpoint and can be inspected on any explorer for the destination network.

5

Done

The withdrawal is finalized on the destination network. The operation's state is officially "done" - this state is terminal.

Last updated