> For the complete documentation index, see [llms.txt](https://docs.trustlesswork.com/trustless-work/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1.md).

# Multi Release Escrow

Multi-release escrow splits one project into multiple milestone payouts.

Use it when work is delivered in stages and each stage should unlock its own payment.

{% hint style="info" %}
Choose **multi-release escrow** when you want milestone-by-milestone payouts instead of one final settlement.
{% endhint %}

### What it does

This escrow locks the total amount on Stellar and releases funds per milestone.

Each milestone moves independently through review, approval, dispute, and release.

### Core concepts

* **Funds locked upfront**: The total of all milestone amounts plus `platformFee` is deposited when the escrow is funded.
* **Milestone-based payouts**: Each milestone has its own amount, status, and release path.
* **Independent settlement**: One milestone can be released while others remain pending.
* **Status flags**: Milestones are tracked with flags such as `approved`, `dispute`, `released`, and `resolved`.

### Roles

In `v2`, most operational roles are arrays. This supports multi-sig approval flows.

* **Service providers**: Deliver the work and update milestone status.
* **Approvers**: Review deliverables and approve milestones.
* **Release signers**: Authorize the release once milestone conditions are met.
* **Dispute resolvers**: Resolve disagreements at the milestone level.
* **Receiver**: Gets released funds if different from the service provider.
* **Admin**: Authorizes escrow updates, milestone management, and TTL extensions.
* **Platform address**: Receives the platform fee.
* **Observers**: Optional read-only wallets with no on-chain authority.

### How the flow works

{% stepper %}
{% step %}

### Deploy the escrow

Define the roles, milestones, asset, and release conditions.
{% endstep %}

{% step %}

### Fund the escrow

Lock the total amount on-chain before delivery starts.
{% endstep %}

{% step %}

### Deliver milestone work

A service provider completes a milestone and updates its status.
{% endstep %}

{% step %}

### Approve the milestone

Approvers verify the deliverable and approve that milestone.
{% endstep %}

{% step %}

### Release milestone funds

Release signers authorize payment for the approved milestone only.
{% endstep %}

{% step %}

### Resolve disputes if needed

Dispute resolvers decide whether the milestone is released or refunded.
{% endstep %}
{% endstepper %}

### Why teams use it

* **Better cash flow**: Providers get paid as work is verified.
* **Lower risk per release**: Only the approved milestone amount moves.
* **Flexible coordination**: Teams can support multi-sig review and release rules.

### Endpoints in this section

#### Setup

* [Deploy](/trustless-work/v2-en/api-rest/deploy-1/initialize-escrow.md) — Create the escrow and define its properties.
* [Fund Escrow](/trustless-work/v2-en/api-rest/deploy-1/fund-escrow.md) — Lock funds into the escrow.

#### Progress and updates

* [Change Milestone Status](/trustless-work/v2-en/api-rest/deploy-1/change-milestone-status.md) — Mark milestone progress.
* [Approve Milestone](/trustless-work/v2-en/api-rest/deploy-1/change-milestone-flag.md) — Confirm milestone completion.
* [Manage Milestones](/trustless-work/v2-en/api-rest/deploy-1/manage-milestones.md) — Add or update milestones.
* [Update Escrow](/trustless-work/v2-en/api-rest/deploy-1/update-escrow-properties.md) — Change escrow properties when allowed.

#### Settlement and disputes

* [Release Milestone Funds](/trustless-work/v2-en/api-rest/deploy-1/release-funds.md) — Release payment for a specific milestone.
* [Dispute Milestone](/trustless-work/v2-en/api-rest/deploy-1/change-dispute-flag.md) — Start a milestone dispute.
* [Resolve Milestone Dispute](/trustless-work/v2-en/api-rest/deploy-1/resolving-disputes.md) — Resolve the dispute and distribute funds.
* [Withdraw Remaining Funds](/trustless-work/v2-en/api-rest/deploy-1/withdraw-remaining-funds.md) — Recover remaining balance when applicable.

This model gives payers control over each release.

It gives service providers predictable payouts as milestones are verified.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.trustlesswork.com/trustless-work/v2-en/api-rest/deploy-1.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.
