# Operational Workflows

Since user withdrawals often times will imply shutting down a validator node and withdrawing from the Consensus Layer, both async actions, the protocol employs a queue-based system that processes requests in batches in a FIFO mannet. This method ensures fair ordering and the certainty to withdraw when funds are available, avoiding bank runs on the protocol.

*Staking Process:*

1. A user deposits $BERA and receives gBera tokens in return
2. The Asset Manager allocates the deposited $BERA to selected validator or to gFund
3. The Node Registry stores these allocations

*Withdrawal Process:*

1. A user initiates a withdrawal request, resulting in their gBera tokens being locked in the queue
2. The Asset Manager processes these withdrawal requests
3. Upon processing, $BERA is returned to the user via the a final withdrawal
4. The corresponding gBera tokens are burned once the withdrawal is successfully completed.
