About SettlementWitness
SettlementWitness is a remote-first adapter for issuing signed Settlement Attestation Receipts (SAR) after checking a task against its specification. It is for systems that need receipt issuance and retrieval; this project is not itself a verifier.
Key features
- 01Submit task checks and outputs
- 02Issue signed SAR receipts
- 03Retrieve receipts by ID
- 04Browse receipts by wallet
- 05Publish verification keys
Use cases
- 01Recording the result of a task check
- 02Retrieving a previously issued receipt
- 03Reviewing wallet-associated receipt history
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://defaultverifier.com/mcpclaude mcp add --transport http com-defaultverifier-settlement-witness https://defaultverifier.com/mcp{"mcpServers":{"com-defaultverifier-settlement-witness":{"type":"http","url":"https://defaultverifier.com/mcp"}}}Open in Cursor{"servers":{"com-defaultverifier-settlement-witness":{"type":"http","url":"https://defaultverifier.com/mcp"}}}Open in VS Code{"mcpServers":{"com-defaultverifier-settlement-witness":{"type":"http","url":"https://defaultverifier.com/mcp"}}}{"mcpServers":{"com-defaultverifier-settlement-witness":{"serverUrl":"https://defaultverifier.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
1| Parameter | Type | Required | Description |
|---|---|---|---|
| spec | object | Yes | |
| output | object | Yes | |
| task_id | string | Yes |
Details
From the project READMEDefaultVerifier — SAR Verification Infrastructure
SAR (Settlement Attestation Receipt) is a verification protocol that produces cryptographically signed receipts proving whether an AI agent completed a task according to its specification.
DefaultVerifier is a live SAR verifier implementation with a public receipt registry, metrics API, and explorer.
If it matters—Verify it.
Architecture
Understand the SAR stack and verification model:
Example Response
{ "witness": "SettlementWitness", "witness_version": "v0", "task_id": "example", "verifier_endpoint": "https://defaultverifier.com/verify", "witness_timestamp": "2026-01-01T00:00:00Z", "receipt_id": "...", "receipt": { "profile": "settlement-witness-verified-v0.2", "task_id_hash": "sha256:...", "verdict": "PASS", "reason_code": "CONDITION_SATISFIED", "ts": "...", "verifier_kid": "...", "counterparty": "0xABC...", "receipt_id": "sha256:...", "sig": "base64url:..." },
"_ext": { "agent_id": "0x123:demo" } }
Notes
- the receipt payload is issued under the
settlement-witness-verified-v0.2profile; verdicts arePASS,FAIL, orINDETERMINATE - when
counterpartyis present, it is included in signature scope and inreceipt_idderivation - retired signer keys remain valid for verifying receipts they historically signed;
verifier_kidin a receipt is historical evidence and is never rewritten - current signer lifecycle (which
kidis active vs. retired) is published athttps://defaultverifier.com/.well-known/sar-keys.json— treat that endpoint, not this README, as the source of truth for which key is currently active - this behavior is implemented and publicly verifiable via the live receipt and key endpoints
SAR Compatibility: This implementation follows SAR verification semantics, with an extended signed payload when counterparty is present.
Demo
Run a full end-to-end verification in ~2 minutes: DEMO.md
Quick Start
1. Create a receipt
curl -X POST https://defaultverifier.com/settlement-witness
-H 'content-type: application/json'
-d '{
"task_id":"quickstart-001",
"spec":{"checks":[{"kind":"field_equals","inputs":{"output_path":"$.result"},"expected":"hello"}]},
"output":{"result":"hello"},
"counterparty":"0x1234567890abcdef1234567890abcdef12345678"
}'
2. Fetch the receipt
curl https://defaultverifier.com/settlement-witness/receipt/<receipt_id>
Note: use the receipt_id from the returned receipt
3. Verify locally (Node)
cd examples/node-verify node verify.js receipt.json jwks.json
Examples
Node.js verification example: examples/node-verify/
Python verification example: examples/verify_receipt_python.py
Usage: python3 examples/verify_receipt_python.py <receipt_id>
API Endpoints
Create Receipt
POST /settlement-witness
Submits a task verification request and returns a signed SAR receipt.
Retrieve Receipt
GET /settlement-witness/receipt/{receipt_id}
Note: Use the receipt_id from the returned receipt (sha256:...) for retrieval.
Returns a previously issued receipt.
Wallet Receipt Explorer
GET /settlement-witness/receipts?wallet={address}
Returns recent receipts associated with a wallet address.
The public explorer is available at:
https://defaultverifier.com/explorer
This interface allows browsing recent receipts and wallet-indexed delivery history.
Public Verification Keys
https://defaultverifier.com/.well-known/jwks.json
Alternative (SAR protocol reference): https://defaultverifier.com/.well-known/sar-keys.json
Used to verify Ed25519 signatures for receipts.
Key Registry
https://defaultverifier.com/.well-known/sar-keys.json
Registry of verifier public keys referenced by verifier_kid.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.