---
title: "Settle a gate escrow purchase from a signed receipt"
method: POST
path: "/billing/escrow/receipt"
---

# Settle a gate escrow purchase from a signed receipt

`POST /billing/escrow/receipt`

## Request

- Base URL: `https://superskill.sh/api`
- URL: `https://superskill.sh/api/billing/escrow/receipt`
- Auth: HTTP bearer

Auth required. Verifies a signed hh gate --receipt payload for the caller's reserved gate_escrow purchase. Passing receipts capture escrow; failing receipts refund escrow. Plain POST /receipts remains read-only.

## Request body

- object
  - `provider_ref` string, required
  - `receipt` GateReceipt, required
    - `type` 'onlyharness.gate_receipt.v1', required
    - `algorithm` 'ed25519', required
    - `payload` GateReceiptPayload, required
      - `harness` string, required: Harness ref, for example harnesses/deep-market-researcher or @org/name.
      - `version` string, required
      - `resultsHash` string, required
      - `verdict` 'passed' | 'failed', required
      - `at` string, date-time, required
      - `gate` object, required
        - `score` number, required
        - `risk` number, required
        - `cost` number, required
        - `failures` string[], required
    - `publicKey` string, required: SPKI PEM public key derived from the local install key.
    - `signature` string, required: Base64 ed25519 signature over the stable JSON payload.

## Response `200`

Escrow settled

- EscrowSettlement
  - `ok` true, required
  - `status` 'captured' | 'refunded' | 'already_captured' | 'already_refunded', required
  - `owner` string, required
  - `repo` string, required
  - `version` string, required
  - `subject_id` string, required
  - `purchase_id` string, required
  - `receipt_hash` string
  - `escrow_expires_at` string, date-time, nullable
  - `reason` 'receipt_passed' | 'receipt_failed' | 'timeout', required

## Other responses

- `400`: Bad request
- `401`: Authorization required
- `404`: Resource not found
- `409`: Bad request

---

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