# Multi Release Escrow

A Multi-Release Contract is an escrow agreement on the Stellar blockchain that divides the total payment of a project into multiple deliveries (“milestones”). Each milestone is released only upon verification of its completion, ensuring that funds remain secure until the associated work is validated.

**Key Components**

* **Initial Fund Lockup**: Upon contract initiation, the total of all milestone amounts plus the platform fee (“platformFee”) is deposited into an escrow account.
* **Milestones**: Each stage includes a description, a specific amount, and status flags (`approved`, `dispute`, `released`, `resolved`).
* **Primary Roles**:

  * Service Providers (array): Deliver the work for each milestone.
  * Approvers (array): Verify and approve milestones.
  * Release Signers (array): Authorize fund releases once milestones are met.
  * Dispute Resolvers (array): Resolve disagreements at the milestone level.
  * Receiver: Final recipient of released funds.
  * Admin: Authorizes updates, manage-milestones, and extend-ttl operations.
  * Platform Address: Receives the platform fee.
  * Observers (optional, array): Read-only wallets with no on-chain authority.

    También actualizar el Brief Workflow para reflejar que en v2 los roles son arrays (multi-sig).

**Brief Workflow**

1. The Service Provider completes a milestone and requests approval.
2. The Approver reviews the deliverable; if approved, they sign a transaction that releases only the amount allocated to that milestone (minus the platform and Trustless Work fee).
3. The Stellar network executes the transaction and transfers the payment to the Service Provider or the configured Receiver.
4. If a dispute arises, the Dispute Resolver evaluates the evidence and, upon signing their decision, marks the milestone as `resolved` to release or refund the corresponding funds.

This model protects all parties: the client knows that funds are available but cannot be released without validation, and the Service Provider receives payment for each verified delivery—leveraging Stellar’s transparency and immutability.


---

# 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.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.
