# Withdrawal Semantics

Withdrawals are governed by liquidity availability and settlement state. The vault enforces the following rules:

#### 1. Liquidity Available on zkSync → Immediate

If sufficient liquidity is already available within the zkSync vault:

* Shares are burned immediately.
* Assets are transferred immediately.

Settlement occurs synchronously within the canonical vault.

#### 2. Liquidity Deployed in Execution Environments → Asynchronous

When capital is deployed within external execution environments, withdrawals may require coordinated unwinds:

* Strategies unwind positions and return liquidity to the zkSync vault.
* Returned assets undergo validation prior to acceptance.
* Shares are burned only after validated liquidity is reconciled into accounting.

This ensures that share redemption remains fully collateralized at all times.

#### 3. Withdrawal Queue

If concurrent withdrawal requests exceed locally available liquidity:

* Withdrawal requests enter a first-in-first-out (FIFO) queue.
* No shares are burned until sufficient liquidity has been validated.
* NAV and share pricing remain correct throughout the queueing process.

#### 4. L2 → L1 Exit (Optional)

If a user requests withdrawal to a base-layer network:

* zkSync generates a verifiable exit message.
* The message finalizes through proof verification.
* The user claims assets on the destination layer.
* Vault accounting remains neutral regardless of exit finality timing.

The vault preserves local accounting invariants independent of cross-environment execution delays or base-layer settlement latency.


---

# 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://multistake-1.gitbook.io/multistake-docs/documentation/oracle-architecture/deposit-withdrawal-semantics/deposit-semantics/withdrawal-semantics.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.
