> For the complete documentation index, see [llms.txt](https://city-protocol.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://city-protocol.gitbook.io/docs/vault-as-a-service/overview/design-goals.md).

# Design Goals

VaaS is built around five design goals.

### Secure capital deployment

User funds should first enter a secure vault contract. Capital should not move directly from the user to an exchange, market maker, borrower, or strategy venue. The vault becomes the controlled entry point where permissions, deposit limits, allocation rules, and risk controls are enforced.

### Configurable vault policy

Different strategies require different parameters. VaaS supports modular vault configuration so curators can define accepted assets, minimum deposits, capacity, fees, allocation rules, redemption periods, strategy limits, oracle settings, and emergency controls.

### Verifiable accounting

Vault accounting should be visible and repeatable. NAV reports, share price updates, deposits, withdrawals, fees, settlement records, strategy debt, and permission changes should be available for monitoring through onchain events, subgraph indexing, and dashboards.

### Creator-bound execution

Vault creators or curators should define the mandate of the vault before execution begins. Strategy managers can make tactical allocation decisions only inside approved boundaries. This separation lets the vault pursue yield while preventing capital from leaving the policy envelope originally defined for the product.

### Redemption integrity

Withdrawals should be predictable and verifiable. Once a withdrawal request enters a redemption process, the vault should track the request, lock pricing at the correct time, calculate required liquidity, verify settlement assets, and allow the user to claim only when liquidity is available.
