streamable-httpMITupdated 11d ago
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.
What can you do with SettlementWitness?
DefaultVerifier — 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.
Install
Add SettlementWitness to your client. Pick the one you use.
claude mcp add --transport http settlementwitness https://defaultverifier.com/mcpcodex mcp add settlementwitness --url https://defaultverifier.com/mcp{
"mcpServers": {
"settlementwitness": {
"url": "https://defaultverifier.com/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"settlementwitness": {
"type": "http",
"url": "https://defaultverifier.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"settlementwitness": {
"url": "https://defaultverifier.com/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"settlementwitness": {
"serverUrl": "https://defaultverifier.com/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation11/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 3 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.1Latest | Jul 5, 2026 |
| 1.0.0 | Feb 8, 2026 |