Paxiom
Paxiom · Receipt Verifier API
Verifier API
A free, offline-semantics verifier for paxiom.receipt.v0.
Project No. PXM-001· Sheet PXM-API-100· Status: Developer Preview· Receipt v0

The Paxiom Receipt Verifier API.

A small HTTP service that verifies a proof-bound receipt: schema, Ed25519 signature, output binding, and honest settlement/proof status. Free, and offline in what it checks — no accounts, no payment, no chain calls.

Runtime status · Pending public deployment

The public endpoint at api.paxiom.org is not live yet. The reference verifier can be run locally today (see below); this page documents the API it exposes. When the runtime is deployed, this banner turns to “live developer preview.”

Base URL

Where it will answer.

https://api.paxiom.org pending deploy

Until the public runtime is live, run the same service locally at http://localhost:8787.

Endpoints

Four routes.

MethodPathPurpose
GET/healthLiveness. Returns { ok: true, … }.
GET/versionService identity plus explicit checks / notChecked claim boundaries.
GET/v1/receipt/demoA canonical demo receipt and its delivered output.
POST/v1/receipt/verifyBody { receipt, output? } → verifier result JSON (trust state + per-check breakdown).

Status codes: 200 for any verification result (including non-verified), 400 malformed request, 413 body over 256 KiB, 404 unknown route.

Example

Verify the demo receipt.

Fetch the demo pair and POST it back to the verifier:

API=http://localhost:8787   # or https://api.paxiom.org once live

curl -s "$API/v1/receipt/demo" > demo.json
node -e 'const d=JSON.parse(require("fs").readFileSync("demo.json"));\
  process.stdout.write(JSON.stringify({receipt:d.receipt,output:d.output}))' \
  | curl -s -X POST "$API/v1/receipt/verify" \
      -H 'content-type: application/json' --data @-

Expected result:

{
  "valid": true,
  "trustState": "verified",
  "checks": { "schema": "pass", "signature": "pass", "outputHash": "pass",
              "settlement": "verify_only", "proof": "not_provided" },
  "receiptHash": "0x…",
  "summary": "Receipt verified: …"
}
Run it now

Locally, today.

The verifier is dependency-free. Clone the repo and start it with Node:

node runtime/receipt-verifier/server.mjs

curl http://localhost:8787/health
curl http://localhost:8787/version
curl http://localhost:8787/v1/receipt/demo
Boundaries

What this API does not do.

Developer-preview claim boundaries
  • No x402 payment gating — verification is free.
  • No independent onchain settlement verification.
  • No x402 facilitator checks.
  • No proof-source / evidence-archive verification.
  • Schema-valid is not receipt-verified; settlement_claimed_not_checked is not verified_settled.

These are honest limits of v0, not permanent ones — onchain settlement and proof-source checks are planned as later adapters and a later paid route.

Machine-readable

Specs and schemas.