{
  "markdown": "# DefaultVerifier — SAR Verification Infrastructure\n\nSAR (Settlement Attestation Receipt) is a verification protocol that produces cryptographically signed receipts proving whether an AI agent completed a task according to its specification.\n\nDefaultVerifier is a live SAR verifier implementation with a public receipt registry, metrics API, and explorer.\n\n**If it matters—Verify it.**\n\n## Architecture\n\nUnderstand the SAR stack and verification model:\n\n👉 [SAR Architecture](./ARCHITECTURE.md)\n\n---\n\n## Example Response\n\n{\n  \"witness\": \"SettlementWitness\",\n  \"witness_version\": \"v0\",\n  \"task_id\": \"example\",\n  \"verifier_endpoint\": \"https://defaultverifier.com/verify\",\n  \"witness_timestamp\": \"2026-01-01T00:00:00Z\",\n  \"receipt_id\": \"...\",\n  \"receipt\": {\n    \"profile\": \"settlement-witness-verified-v0.2\",\n    \"task_id_hash\": \"sha256:...\",\n    \"verdict\": \"PASS\",\n    \"reason_code\": \"CONDITION_SATISFIED\",\n    \"ts\": \"...\",\n    \"verifier_kid\": \"...\",\n    \"counterparty\": \"0xABC...\",\n    \"receipt_id\": \"sha256:...\",\n    \"sig\": \"base64url:...\"\n  },\n\n  \"_ext\": {\n    \"agent_id\": \"0x123:demo\"\n  }\n}\n\n---\n\n## Notes\n\n- the receipt payload is issued under the `settlement-witness-verified-v0.2` profile; verdicts are `PASS`, `FAIL`, or `INDETERMINATE`\n- when `counterparty` is present, it is included in signature scope and in `receipt_id` derivation\n- retired signer keys remain valid for verifying receipts they historically signed; `verifier_kid` in a receipt is historical evidence and is never rewritten\n- current signer lifecycle (which `kid` is active vs. retired) is published at `https://defaultverifier.com/.well-known/sar-keys.json` — treat that endpoint, not this README, as the source of truth for which key is currently active\n- this behavior is implemented and publicly verifiable via the live receipt and key endpoints\n\n---\n\n\n**SAR Compatibility:** This implementation follows SAR verification semantics, with an extended signed payload when `counterparty` is present.\n\n\n\n\n## Demo\n\nRun a full end-to-end verification in ~2 minutes:\nDEMO.md\n\n\n## Quick Start\n\n### 1. Create a receipt\n\ncurl -X POST https://defaultverifier.com/settlement-witness \\\n  -H 'content-type: application/json' \\\n  -d '{\n    \"task_id\":\"quickstart-001\",\n    \"spec\":{\"checks\":[{\"kind\":\"field_equals\",\"inputs\":{\"output_path\":\"$.result\"},\"expected\":\"hello\"}]},\n    \"output\":{\"result\":\"hello\"},\n    \"counterparty\":\"0x1234567890abcdef1234567890abcdef12345678\"\n  }'\n\n### 2. Fetch the receipt\n\ncurl https://defaultverifier.com/settlement-witness/receipt/<receipt_id>\n\nNote: use the `receipt_id` from the returned receipt\n\n### 3. Verify locally (Node)\n\ncd examples/node-verify\nnode verify.js receipt.json jwks.json\n\n## Examples\n\nNode.js verification example:\nexamples/node-verify/\n\nPython verification example:\nexamples/verify_receipt_python.py\n\nUsage:\npython3 examples/verify_receipt_python.py <receipt_id>\n\n## API Endpoints\n\n### Create Receipt\n\nPOST /settlement-witness\n\nSubmits a task verification request and returns a signed SAR receipt.\n\n---\n\n### Retrieve Receipt\n\nGET /settlement-witness/receipt/{receipt_id}\n\nNote: Use the `receipt_id` from the returned receipt (sha256:...) for retrieval.\n\n\nReturns a previously issued receipt.\n\n---\n\n### Wallet Receipt Explorer\n\nGET /settlement-witness/receipts?wallet={address}\n\nReturns recent receipts associated with a wallet address.\n\nThe public explorer is available at:\n\nhttps://defaultverifier.com/explorer\n\nThis interface allows browsing recent receipts and wallet-indexed delivery history.\n\n---\n\n### Public Verification Keys\n\nhttps://defaultverifier.com/.well-known/jwks.json\n\nAlternative (SAR protocol reference):\nhttps://defaultverifier.com/.well-known/sar-keys.json\n\n\nUsed to verify Ed25519 signatures for receipts.\n\n---\n\n### Key Registry\n\nhttps://defaultverifier.com/.well-known/sar-keys.json\n\nRegistry of verifier public keys referenced by `verifier_kid`.",
  "bytes": 3882,
  "sha": "d64080764e83951ab7be40a12083e942c791a9127df8fe422e950c603425f1ff",
  "repo_slug": "nutstrut/default-settlement-verifier",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_defaultverifier_settlement_witness_e09b891f/readme"
}