# Escrows

In NUTS Platform, each financial instrument domain represents a single asset domain. Assets from different instrument domains are separated from each other.&#x20;

In addition, users of NUTS Platform must explicitly deposit their assets into individual instrument domain in order to create or engage issuances in this domain. This guarantees that even if an instrument is broken, users' assets in their wallet or in other instrument domains are not affected.

Within each instrument domain, assets are hold by Escrows. Each instrument domain generally consists of two kinds of escrows:

* Instrument Escrow,  which serves as the asset portal of this instrument;
* Issuance Escrow, which manages assets for individual issuance.

All escrows are created by Escrow Factory and managed by Instrument Manager. The image below shows the relationship between Escrows and Instrument Manager in an instrument domain. When an asset needs to be transferred from Instrument Escrow to Issuance Escrow, Instrument Manager withdraws the asset from Instrument Escrow and then deposits it into Issuance Escrow. The flow is similar when transferring asset from Issuance Escrow to Instrument Escrow. Since Instrument Manager is the only admin of both Instrument Escrow and Issuance Escrow, it's the only party that could operate on the assets within an instrument domain.

![Escrow Model](/files/-LoaAqEebBWZ3il3gcuj)

The table below gives a comparison between Instrument Escrow and Issuance Escrow. They both support direct deposit and withdrawal by Instrument Manager, while Instrument Escrow also supports user deposits and withdrawals.

|                              | Instrument Escrow                         | Issuance Escrow                   |
| ---------------------------- | ----------------------------------------- | --------------------------------- |
| Creation                     | Created when instrument domain is created | Created when issuance is created  |
| Number                       | One per instrument domain                 | One per issuance                  |
| Access by user               | Deposit/Withdraw from their own account   | Read-only                         |
| Access by instrument manager | Deposit/Withdraw from any account         | Deposit/Withdraw from any account |
| Access by issuance           | Read-only                                 | Read-only                         |


---

# 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://docs.nuts.finance/implementation/escrow.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.
