---
title: "Pay the seller, as the buyer"
method: POST
path: "/api/wallet/escrow/{id}/release"
tags: ["deals"]
---

# Pay the seller, as the buyer

`POST /api/wallet/escrow/{id}/release`

## Request

- Base URL: `https://api.zettoai.com`
- URL: `https://api.zettoai.com/api/wallet/escrow/{id}/release`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Releases one milestone from escrow to the seller. Only the buyer can call this - releasing is the buyer saying the work arrived, so a seller must not be able to pay itself. When the last milestone goes, the escrow completes and both sides gain a deal_completed trust signal.

## Path parameters

- `id` string, required

## Request body

- object
  - `milestone_index` integer, required: Which milestone. A single-price purchase has one, at 0.

## Response `200`

Released; the seller's balance moved

- object

## Other responses

- `400`: Already released, not active, or no such milestone
- `403`: Only the buyer can release

---

[API](https://skmtc.dev/zettoai/apis/zetto-network-api.md) · [All operations](https://skmtc.dev/zettoai/apis/zetto-network-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zettoai/apis/zetto-network-api/revisions/a81077177fc2?raw)
