{"specVersion":"1.0","host":{"displayName":"Tersign — the evidence layer for the agent economy","identifier":"did:web:tersign.ai","documentationUrl":"https://tersign.ai"},"entries":[{"identifier":"urn:ai:tersign.ai:server:evidence-mcp","displayName":"Tersign Evidence MCP Server","type":"application/mcp-server-card+json","url":"https://tersign.ai/.well-known/mcp/server-card.json","description":"MCP server for agent-commerce evidence: issue counter-signed x402 receipts, verify any receipt or action record without trusting the counterparty, record refunds, and run the dispute loop. Records are hash-chained and counter-signed by a neutral ledger, and format for submission to external arbitration venues (Internet Court, Kleros ERC-1497, UMA) where the venue can verify them independently.","capabilities":["issue_receipt","verify_receipt","verify_compliance_record","record_disclosure","record_refund","open_dispute","submit_dispute_evidence","adjudicate_dispute","get_dispute"],"representativeQueries":["issue a counter-signed receipt for an agent payment","verify an x402 payment receipt without trusting the seller","get court-ready evidence for an AI agent transaction dispute","tamper-evident audit trail for AI agent actions, independently counter-signed"],"version":"0.4.11"},{"identifier":"urn:ai:tersign.ai:package:python-verifier","displayName":"tersign (PyPI) — offline verifier","type":"application/vnd.pypi.package","url":"https://pypi.org/project/tersign/","description":"pip install tersign. Verifies a counter-signed receipt, a hash chain, or a whole evidence bundle with ZERO dependencies and no network call: the checks run on bytes you already hold. No account, no API key, and nothing in it depends on Tersign staying reachable — which is the point, since a verifier you must ask us to run is not independent verification. Same digest domain and canonical form as the TypeScript SDK; both engines, plus the out-of-band bundle verifier, are decided against the public two-sided conformance corpus.","capabilities":["verify_receipt_offline","verify_chain_offline","verify_evidence_bundle"],"representativeQueries":["verify a tersign receipt offline in python","check an agent evidence chain without calling the issuer"],"version":"0.1.6"},{"identifier":"urn:ai:tersign.ai:tool:bundle-verifier","displayName":"Evidence-bundle verifier (out-of-band)","type":"text/x-python","url":"https://tersign.ai/verify/v1/verify_bundle.py","description":"The checker for a frozen evidence bundle, served away from the bundles it checks. A bundle ships its own copy of verify/; for evidence handed over by an interested party, fetch this copy instead and diff the two, because a bundle can ship a checker that blesses it and a difference is itself the finding. Python standard library only: no install, no account, no network once fetched. Digests at SHA256SUMS in the same directory. A PASS is integrity-only unless the signer address is supplied out-of-band from /v1/ledger, and the tool prints an explicit UNAUTHENTICATED line naming the fields nothing signs.","capabilities":["verify_evidence_bundle","recompute_chain_commitment","check_anchor_proofs"],"representativeQueries":["verify an evidence bundle someone handed me without trusting them","check a hash chain and its Bitcoin anchor offline"],"version":"v1"},{"identifier":"urn:ai:tersign.ai:api:receipt-verification","displayName":"Public receipt verification API","type":"application/json","url":"https://tersign.ai/v1/receipts/{digest}/verify","description":"GET endpoint: given an artifact digest, returns its position in the seller's hash chain, the neutral ledger counter-signature, the earliest Bitcoin chain-head anchor at or after it, and — for chains anchored under the tersign-chain-commitment-v1 form (since 2026-08-28) — the earliest anchored commitment whose accumulator commits every record with seq <= its seq: existence and completeness in one proof (anchor rows with subjectSchema artifact-digest are legacy and bind the head record only; the row says which). Proofs at /v1/anchors — opentimestamps rows serve proof.ots for stock OpenTimestamps tooling, rfc3161 co-anchor rows serve proof.tsr for openssl ts, c2sp-tlog co-anchor rows serve proof.json with a public witnessed log's inclusion-proof and checkpoint URLs — verifiable offline, no account, no API key. Sibling endpoint /v1/receipts/{digest}/envelope serializes the same proof for Internet Court, Kleros (ERC-1497), or UMA.","representativeQueries":["check whether a payment receipt from an agent purchase is genuine","verify a hash-chained transaction record via a public API"],"version":"1.0.0"},{"identifier":"urn:ai:tersign.ai:skill:tersign-evidence","displayName":"Tersign Evidence skill","type":"text/markdown","url":"https://raw.githubusercontent.com/tersignhq/skills/main/skills/tersign-evidence/SKILL.md","description":"Agent skill: produce, verify, and submit counter-signed transaction evidence — envelopes for dispute venues, receipt verification, Article 50 disclosure-record exports.","representativeQueries":["agent skill for producing dispute evidence envelopes for Kleros, UMA, or the Internet Court"],"version":"1.0.0"},{"identifier":"urn:ai:tersign.ai:dataset:evidence-record-conformance","displayName":"Evidence-record conformance vectors","type":"text/markdown","url":"https://github.com/tersignhq/evidence-record-conformance","description":"Two-sided conformance suite for the evidence-record layer: independence, completeness, existence, and economic-phase criteria as runnable vectors (stdlib-only verifier, Apache-2.0), with live Bitcoin-anchored vectors drawn from this ledger.","representativeQueries":["conformance vectors for agent-commerce evidence records","test whether an evidence record proves completeness and independence"],"version":"0.1.0"}]}