For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get Escrow

Read an escrow state directly from the contract (authoritative).

Reads the escrow's state directly from the contract by invoking get_escrow on-chain — including milestone approvals, dispute and released flags. This is the authoritative read — use it for settlement-grade checks. For lists, dashboards and history, the read-model endpoints are faster and richer.

Use the endpoint that matches your escrow's contract flavor — the two are not interchangeable.

Single Release (v2)

Read the on-chain state of a deployed escrow

get

Invokes get_escrow directly on the child contract.

Authorizations
x-api-keystringRequired
Path parameters
contractIdstringRequired

Deployed single-release-v2 escrow contract (C...).

Example: CDHAZ2RTE2MDHYQQ7NATF5IVKIFVGLX6FHJ66OPK6MUXBSTRRXFXJ6QB
Responses
200

Escrow state read successfully.

application/json
typestringRequiredExample: single-release
contractIdstringRequired
contractBaseIdstringRequired
engagementIdstringRequired
titlestringRequired
descriptionstringRequired
amountnumberRequired

Total escrow amount in decimals.

balancenumberRequired

Funded balance, 0 until first fund.

platformFeenumberRequired

Platform fee as percent (e.g. 5 = 5%).

receiverMemonumberRequired
releasedbooleanRequired

True after release_funds succeeds.

get/escrow/single-release/v2/{contractId}
GET /escrow/single-release/v2/{contractId} HTTP/1.1
Host: beta.api.trustlesswork.com
x-api-key: YOUR_API_KEY
Accept: */*
{
  "type": "single-release",
  "contractId": "text",
  "contractBaseId": "text",
  "engagementId": "text",
  "title": "text",
  "description": "text",
  "amount": 1,
  "balance": 1,
  "platformFee": 1,
  "receiverMemo": 1,
  "trustline": {
    "address": "text",
    "contractId": "text",
    "symbol": "USDC"
  },
  "roles": {
    "approvers": [
      "text"
    ],
    "serviceProviders": [
      "text"
    ],
    "platform": "text",
    "releaseSigners": [
      "text"
    ],
    "disputeResolvers": [
      "text"
    ],
    "receiver": "text",
    "admin": "text",
    "observers": [
      "text"
    ]
  },
  "milestones": [
    {
      "description": "text",
      "status": "text",
      "evidence": "text",
      "approvals": {
        "target": 2,
        "approvalCount": 1,
        "approvedBy": [
          "text"
        ]
      }
    }
  ],
  "dispute": {
    "isDisputed": true,
    "reason": "text",
    "resolved": true
  },
  "released": true
}

Multi Release (v2)

Read the on-chain state of a deployed escrow

get

Invokes get_escrow directly on the child contract.

Authorizations
x-api-keystringRequired
Path parameters
contractIdstringRequired

Deployed multi-release-v2 escrow contract (C...).

Example: CDHAZ2RTE2MDHYQQ7NATF5IVKIFVGLX6FHJ66OPK6MUXBSTRRXFXJ6QB
Responses
200

Escrow state read successfully.

application/json
typestringRequiredExample: multi-release
contractIdstringRequired
contractBaseIdstringRequired
engagementIdstringRequired
titlestringRequired
descriptionstringRequired
balancenumberRequired

Funded balance, 0 until first fund.

platformFeenumberRequired

Platform fee as percent.

receiverMemonumberRequired
get/escrow/multi-release/v2/{contractId}
GET /escrow/multi-release/v2/{contractId} HTTP/1.1
Host: beta.api.trustlesswork.com
x-api-key: YOUR_API_KEY
Accept: */*
{
  "type": "multi-release",
  "contractId": "text",
  "contractBaseId": "text",
  "engagementId": "text",
  "title": "text",
  "description": "text",
  "balance": 1,
  "platformFee": 1,
  "receiverMemo": 1,
  "trustline": {
    "address": "text",
    "contractId": "text",
    "symbol": "USDC"
  },
  "roles": {
    "approvers": [
      "text"
    ],
    "serviceProviders": [
      "text"
    ],
    "platform": "text",
    "releaseSigners": [
      "text"
    ],
    "disputeResolvers": [
      "text"
    ],
    "admin": "text",
    "observers": [
      "text"
    ]
  },
  "milestones": [
    {
      "description": "text",
      "status": "text",
      "evidence": "text",
      "approvals": {
        "target": 1,
        "approvalCount": 1,
        "approvedBy": [
          "text"
        ]
      },
      "amount": 1,
      "dispute": {
        "isDisputed": true,
        "reason": "text",
        "resolved": true
      },
      "released": true,
      "receiver": "text"
    }
  ]
}

Field notes

  • Read-only: nothing to sign, nothing to submit.

  • Calling the endpoint of the wrong flavor for a contract fails — check the escrow's type in the read-model if you are unsure.

  • If the contract's storage has expired, the read fails with STELLAR_STATE_ARCHIVED — see Extend TTL (single-release / multi-release) for the restore flow.

Last updated