# Compliance & Enforced Rules

### Canonical Accounting Domain

All economic truth is anchored on zkSync.\
The vault enforces rules for:

* **share minting** (only after asset finality)
* **share burning** (only when liquidity is guaranteed)
* **NAV changes** (only after oracle-validated reporting)
* **exposure limits** (per-strategy and per-plane)
* **rounding rules** (ERC-4626 compliant)

Even though strategies run on external execution planes, the zkSync vault acts as the authoritative registry of:

* total supply
* total underlying assets
* pending liabilities
* discounting factors for frozen planes
* pending deposits/withdrawals
* rebalance state

From the user’s perspective, the system behaves exactly like a single-chain ERC-4626 vault; all multi-chain complexity is handled behind the scenes.

### ERC-4626 Compliance

The vault preserves full ERC-4626 semantics:

* **convertToShares()**\
  Uses the current validated totalAssets snapshot.
* **convertToAssets()**\
  Performs proportional conversion with downward rounding.
* **previewDeposit / previewWithdraw / previewMint / previewRedeem**\
  Computed deterministically on zkSync, independent of pending cross-chain operations.
* **deposit / mint**\
  Only mint shares when zkSync receives the underlying assets.
* **withdraw / redeem**\
  Burn shares only when underlying liquidity is secured.

This ensures that multi-chain execution does not alter how ERC-4626 behaves for integrators, auditors, or downstream protocols.


---

# 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/zksync-home-vault/the-core-of-multistake/compliance-and-enforced-rules.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.
