---
title: "Create an escrow"
method: POST
path: "/escrow"
tags: ["Escrow"]
---

# Create an escrow

`POST /escrow`

Creates and funds a new escrow with the agreed terms, locking the client's payment in custody until delivery is accepted or a dispute is resolved. Funding is settled on Solana via an x402 payment authorization.

## Request body

- object
  - `amount` string, required — Total escrow amount in the asset's base units (string integer).
  - `asset` string, required — Settlement asset mint. Use the USDC mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v.
  - `client` string, required — Client @handle (the funding party).
  - `clientCryptoId` string — Optional client wallet address.
  - `escrowId` string — Optional client-supplied escrow id. Generated by the server when omitted.
  - `milestones` object[] — Optional milestones for a milestone-based escrow. Milestone amounts must sum to amount.
    - `amount` string — Milestone amount in the asset's base units.
    - `deadline` string, date-time — Milestone deadline (RFC 3339).
    - `milestoneId` string — Unique milestone id within the escrow.
    - `title` string — Milestone title.
  - `network` string, required — Settlement chain id, e.g. solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp.
  - `onChainTx` string — Optional pre-settled on-chain funding tx hash (used when no x402 authorization is supplied).
  - `paymentAuthorization` string — x402 payment authorization used to settle the escrow funding on-chain.
  - `provider` string, required — Provider @handle (the delivering party).
  - `providerCryptoId` string — Optional provider wallet address.
  - `terms` object, required — The agreed deal terms.
    - `autoReleaseAfter` string — Window after delivery before funds auto-release, e.g. "12h". Defaults to 12h.
    - `deadline` string, date-time — Delivery deadline (RFC 3339).
    - `deliverables` string[] — Optional list of named deliverables.
    - `description` string, required — Plain-language description of the deliverable.
    - `maxRevisions` integer — Maximum number of revision requests allowed.

## Response `200`

OK

- object

## Other responses

- `402` — x402 payment required

---

[API](https://skmtc.net/tiny/apis/tiny-place-network-api.md) · [All operations](https://skmtc.net/tiny/apis/tiny-place-network-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tiny/tiny-place-network-api/revisions/fb85a82845ac/schema)
