---
title: "Verify a signed gate receipt"
method: POST
path: "/receipts"
---

# Verify a signed gate receipt

`POST /receipts`

## Request

- Base URL: `https://superskill.sh/api`
- URL: `https://superskill.sh/api/receipts`
- Auth: none declared

Validates an ed25519 hh gate --receipt payload. This endpoint is side-effect-free: it does not store receipts, grant entitlements, settle payments, or ingest prompts/local paths.

## Request body

- GateReceipt
  - `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`

Gate receipt signature verified

- GateReceiptVerification
  - `ok` true, required
  - `receipt_hash` string, required
  - `harness` string, required
  - `version` string, required
  - `verdict` 'passed' | 'failed', required
  - `resultsHash` string, required
  - `at` string, date-time, required

## Other responses

- `400`: 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)
