# Tipos de escrow

O Trustless Work suporta vários tipos de escrow, cada um adaptado para diferentes fluxos de trabalho. Quer você esteja construindo um marketplace, uma plataforma de concessões ou um app de serviços, escolher a lógica de escrow certa ajuda a equilibrar simplicidade, flexibilidade e confiança.

***

### Escrow de Liberação Única

Um Escrow de Liberação Única mantém os fundos até *todos* os marcos (pontos verificáveis, como "design concluído" ou "código implantado") serem concluídos e aprovados. Só então o *valor* total é liberado de uma vez. É construído para projetos em que a confiança se desenvolve ao longo de várias etapas, mas o pagamento ocorre uma única vez.

**Construa assim:**

1. **Depósito:** Os fundos são bloqueados antecipadamente por qualquer parte (por exemplo, um cliente) através de uma carteira Stellar.
2. **Conclusão do Marco:** O Prestador de Serviço (por exemplo, um freelancer) marca cada marco como concluído (por exemplo, "Logotipo entregue", "Site no ar").
3. **Aprovação e Liberação:** O Aprovador (por exemplo, o cliente) verifica *todos* os marcos. Uma vez que todos estejam aprovados, o Signatário de Liberação (por exemplo, a plataforma) libera o valor total para o Recebedor, descontando qualquer taxa da Plataforma.

<figure><img src="/files/12877d049a53ce754d2e6fb24f8eef738734a0d6" alt="single-release"><figcaption></figcaption></figure>

**Exemplo:** Um freelancer em um marketplace entrega um site (marcos: wireframe, design, lançamento). O comprador (Aprovador) confirma que tudo está concluído, e a plataforma (Signatário de Liberação) libera o pagamento integral.

***

### Escrow de Múltiplas Liberações

Um Escrow de Múltiplas Liberações libera fundos incrementalmente à medida que cada marco é concluído e aprovado. Foi projetado para projetos por etapas onde a confiança e os pagamentos se constroem passo a passo, reduzindo o risco.

**Construa assim:**

1. **Depósito:** Os fundos são depositados antecipadamente ou em partes através de carteiras Stellar.
2. **Conclusão do Marco e Revisão:** O Prestador de Serviço (por exemplo, um colaborador de DAO) marca cada marco como concluído (por exemplo, "Protótipo construído"). O Aprovador (por exemplo, os votantes da DAO) revisa cada um.
3. **Liberação Incremental:** Para cada marco aprovado, o Signatário de Liberação (por exemplo, a plataforma) libera a porção de fundos correspondente ao Recebedor. Os Resolutores de Disputas lidam com conflitos, ajustando valores ou cancelando se necessário. (Nota: Pagamentos por marco estão por vir, conforme o documento.)

<figure><img src="/files/c688b46cc677b71f137fc3a67d9f0713d486129a" alt=""><figcaption></figcaption></figure>

**Exemplo:** Uma DAO financia um desenvolvedor para um projeto (marcos: código v1, v2, v3). A aprovação de cada marco libera uma parte das stablecoins, com um Resolutor de Disputas intervindo se os votantes contestarem o progresso.

**Por que usar?**

* ✅ Flexível: Pague por marco, não tudo de uma vez.

***

| Aspecto      | Liberação Única                       | Múltiplas Liberações         |
| ------------ | ------------------------------------- | ---------------------------- |
| Pagamentos   | Tudo de uma vez, após todos os marcos | Por marco                    |
| Caso de Uso  | Freelance com verificações por etapas | Desembolso de subvenções     |
| Complexidade | Média (vários marcos, uma liberação)  | Alta (liberações por etapas) |

### Dicas Rápidas:

* Use **Liberação Única** para começar rapidamente.
* Use **Múltiplas Liberações** quando você precisa de controle baseado em marcos.
* Todos os escrows são **não custodiais**, programáveis e nativos de stablecoin.

***

### Exemplos JSON

Aqui estão dois trechos JSON mínimos que destacam a diferença estrutural entre **Liberação Única** e **Múltiplas Liberações** escrows. Estes não são esquemas completos, apenas o essencial para que um construtor possa “ver” de relance.

***

### 📝 Exemplo: Liberação Única (com múltiplos marcos)

```json
{
  "contractId": "C...ESCROWADDRESS",
  "engagementId": "order-123",
  "title": "Desenvolvimento de Website",
  "description": "Construir e entregar um site de marketing",
  "roles": {
    "approver": "G...CLIENT",
    "serviceProvider": "G...FREELANCER",
    "releaseSigner": "G...SIGNER",
    "platformAddress": "G...PLATFORM",
    "disputeResolver": "G...RESOLVER",
    "receiver": "G...FREELANCER"
  },
  "amount": 1000,
  "platformFee": 0.5,
  "milestones": [
    {
      "description": "Entregar design da página inicial",
      "status": "Aprovado",
      "approved": true
    },
    {
      "description": "Implantar site completo",
      "status": "Pendente",
      "approved": false
    }
  ],
  "flags": {
    "disputed": false,
    "released": false,
    "resolved": false
  },
  "trustline": {
    "address": "G...USDCISSUER",
  }
}
```

👉 Mesmo com múltiplos marcos, **todos devem ser aprovados** antes do único pagamento de `1000` USDC ser liberado.

***

### 📝 Exemplo: Múltiplas Liberações

```json
{
  "contractId": "C...ESCROWADDRESS",
  "engagementId": "grant-456",
  "title": "Bolsa de Pesquisa",
  "description": "Financiando projeto em duas fases",
  "roles": {
    "approver": "G...FUNDER",
    "serviceProvider": "G...RESEARCHER",
    "releaseSigner": "G...SIGNER",
    "platformAddress": "G...PLATFORM",
    "disputeResolver": "G...RESOLVER",
  },
  "platformFee": 0.5,
  "milestones": [
    {
      "description": "Enviar relatório intermediário",
      "amount": 500,
      "status": "Aprovado",
      "flags": { "approved": true, "released": true, "disputed": false, "resolved": false },
      "receiver": "G...RESEARCHER"
    },
    {
      "description": "Publicar relatório final",
      "amount": 500,
      "status": "Pendente",
      "flags": { "approved": false, "released": false, "disputed": false, "resolved": false },
      "receiver": "G...RESEARCHER"
    }
  ],
  "trustline": {
    "address": "G...USDCISSUER",
  }
}
```

👉 Aqui, cada marco tem seu próprio **valor** e **sinalizadores**. Os fundos são liberados marco a marco (`500` + `500`).


---

# 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/v1-pt/introducao/technology-overview/tipos-de-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.
