Card snapshot
proofof.ai
·
2026-09-07 16:12:55 UTC
·
5e25eca1c353fd4611ed88170e933ff7af9032c10bf4189bcbe769bbaec73439
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "Council of AI \u2014 Measurement Agent",
"description": "Independent AI-governance MEASUREMENT body. Publishes the living GSPC board (Governance \u00b7 Safety \u00b7 Provenance \u00b7 Continuity) \u2014 quote totals.lid and totals.public_count from GET /api/gspc, never a typed integer here \u2014 with frozen item banks, published scoring code, and an Ed25519-signed board. Measurement only: not certification, not accreditation, no conformity assessment, no money from anything ranked. A2A v1.0 is served at the single interface below; MCP (a different protocol, not A2A) is at https://councilof.ai/mcp.",
"version": "1.1.0",
"provider": {
"organization": "CSOAI Ltd",
"url": "https://councilof.ai"
},
"supportedInterfaces": [
{
"url": "https://councilof.ai/api/a2a",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"documentationUrl": "https://councilof.ai/llms.txt",
"iconUrl": "https://councilof.ai/og-image.png",
"capabilities": {
"streaming": false,
"pushNotifications": false,
"extendedAgentCard": false,
"extensions": [
{
"uri": "https://councilof.ai/a2a/extensions/signed-receipts/v1/",
"required": false,
"description": "A DRAFT WE PUBLISH AND DO NOT YET EMIT: this agent attaches no receipt to a response today. Declared because we author the specification, not because the door implements it. Ed25519-signed task-outcome receipts plus a did:web key-trust convention for AgentCard signing (A2A v1.0 \u00a78.4). A receipt is evidence of what was claimed, not a certification, and a signature over it is an integrity claim rather than a truth claim."
},
{
"uri": "https://councilof.ai/.well-known/x402.json",
"required": false,
"description": "x402 discovery index for the agent pay rail (also GET /api/x402). Free door amount 0 at /api/free-door. Verification stays free. payTo is merchant not payer. Self-settle is not revenue. Settlement is PROVEN on Base mainnet: transaction hashes are published in docs/product/SETTLED-DOORS and verifiable on chain by anyone, independently of this server. Measurement credential, never a grade."
},
{
"uri": "https://github.com/x402-foundation/x402/blob/69652a69798f0b08f95bef33318896e36e210f7e/specs/extensions/extension-offer-and-receipt.md",
"required": false,
"description": "x402 Offer & Receipt extension (v0.6), JWS profile. Every HTTP 402 this agent's doors emit carries a server-signed offer committing to the terms in each accepts[] entry; every settled response carries a signed receipt. Format jws, alg EdDSA, kid did:web:csoai.org#board-attestation-1, resolvable at https://csoai.org/.well-known/did.json (an authorization mechanism the extension names in section 4.5.1). eip712 is NOT emitted: the edge holds one Ed25519 key and no secp256k1 signer, and a format we cannot produce is better declared missing than faked. A receipt proves this server signed those bytes; it is not by itself proof that money moved, and the transaction field, when present, is a claim to check against the chain."
}
]
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"skills": [
{
"id": "gspc-board",
"name": "Signed GSPC Board",
"description": "SendMessage answers with the live board: totals.lid verbatim from GET /api/gspc and the derived axis rows (axis, family, kind, status, n, separation, leader state). Empty cells stay empty; a withheld leader is a state, not a zero; a fetch failure is UNCHECKABLE, never a fabricated number. Live JSON, recomputable from published rows.",
"tags": [
"measurement",
"governance",
"verification"
],
"examples": [
"SendMessage {\"message\": {\"messageId\": \"m-1\", \"role\": \"ROLE_USER\", \"parts\": [{\"text\": \"board\"}]}}",
"GET /api/gspc \u2014 the same board, outside A2A"
]
},
{
"id": "east-west-crosswalk",
"name": "East-West crosswalk & cross-border card",
"description": "One signed GSPC measurement mapped across EU, UK, US, Illinois, and China GB/T alignment surfaces. Crosswalk v1 JSON, cross-border signed card, and stranger verify at /gspc-verify. Measurement only \u2014 determination stays with authorities.",
"tags": [
"cross-border",
"crosswalk",
"measurement",
"verification"
],
"examples": [
"GET /api/cross \u2014 cross-border signed card"
]
},
{
"id": "measured-badge",
"name": "Measured Badge",
"description": "A global-board README link plus a card-bound status badge. The global board never becomes a model score. A model-specific score may render only from a VALID signed cell that names the exact subject and immutable revision; otherwise the subject is UNMEASURED or UNSIGNED.",
"tags": [
"measurement",
"governance",
"verification"
],
"examples": [
"GET /api/badge?card=<signed-card-sha256>&subject=<url-encoded-owner/model@commit-sha>"
]
},
{
"id": "benchmark-quality-register",
"name": "Benchmark-quality register",
"description": "Signed register of what third-party AI benchmarks disclose about their own process integrity. Deterministic predicates only \u2014 no language model judges. Records are unsolicited; nothing on the register is certification or endorsement.",
"tags": [
"meta-evaluation",
"benchmark-quality",
"reproducibility",
"governance"
],
"examples": [
"GET /api/benchmark-quality"
]
},
{
"id": "article50-detect",
"name": "Article 50 provenance detection (free)",
"description": "Verify a C2PA-style signed manifest for AI-generated content (EU AI Act Article 50) at POST https://councilof.ai/api/detect. Deterministically checks the Ed25519-signed metadata layer and the IPTC/schema.org digitalSourceType; returns AI_MARKED / NOT_AI_MARKED / UNVERIFIABLE with a signed verdict receipt (in-toto/DSSE when a board key is bound). The imperceptible-watermark layer we cannot see is declared, never claimed. Free for all; unrestricted for authorities, media, fact-checkers, researchers and civil society. Not certification.",
"tags": [
"article-50",
"provenance",
"detection",
"verification",
"c2pa"
],
"examples": [
"POST /api/detect \u2014 multipart image or JSON manifest"
]
},
{
"id": "eu-ai-act-screen",
"name": "EU AI Act screening helper (deterministic, text-only)",
"description": "POST https://councilof.ai/api/assess with a system description. Keyword matches name the Annex III categories and Article 5 patterns a human should inspect; no model is consulted. It does not establish legal tier, applicability, exceptions or compliance, and an empty description is UNMEASURED, not a low-risk finding. When no signing key is provisioned the report says UNSIGNED out loud.",
"tags": [
"eu-ai-act",
"screening",
"deterministic"
],
"examples": [
"POST /api/assess {\"system\": \"<what the system does and for whom>\"}"
]
},
{
"id": "x402-discovery",
"name": "x402 discovery + free door",
"description": "Agents discover paid artefact rails via GET https://councilof.ai/.well-known/x402.json (mode live, Base eip155:8453, USDC; amounts from challenge only \u2014 no invent price). Catalog GET /api/x402. Free door GET /api/free-door amount 0 settles and charges nothing \u2014 proves the rail. Living board GET /api/gspc. Verification stays free at /gspc-verify. payTo is merchant receive, never the signer. Self-settle proves the rail; stranger revenue is separate (do not invent buyers). Coming\u2014Paddle not live. No card-processor invent. Measurement, never certification. Signed offers and receipts: every 402 carries extensions['offer-receipt'].info.offers[] (one server-signed offer per accepts[] entry) and every settled 200 returns a signed receipt in the X-PAYMENT-RESPONSE SettlementResponse \u2014 x402 Offer & Receipt extension, format jws, alg EdDSA, kid did:web:csoai.org#board-attestation-1. Verify either without trusting us: POST it to /api/receipts/verify, or run scripts/verify_receipt.py against https://csoai.org/.well-known/did.json. Your own receipts: GET /api/receipts?payer=0x... (status UNRECORDED means no store is bound on that deployment, never that you did not pay). We emit jws only and no eip712 \u2014 the edge holds one Ed25519 key and no secp256k1 signer.",
"tags": [
"x402",
"discovery",
"payments",
"measurement"
],
"examples": [
"GET https://councilof.ai/.well-known/x402.json",
"GET https://councilof.ai/api/free-door",
"GET https://councilof.ai/api/gspc",
"GET https://councilof.ai/gspc-verify",
"GET https://councilof.ai/api/free-door # read extensions['offer-receipt'].info.offers[0].signature",
"POST https://councilof.ai/api/receipts/verify -d '{\"receipt\":\"eyJ...\"}'",
"GET https://councilof.ai/api/receipts?payer=0x4dB7AAFbe797a39Cd6Cc4E7aa64d970F7F6E02B7"
]
}
],
"catalogUrl": "https://councilof.ai/interop/surface-catalog.json",
"doi": "10.5281/zenodo.21991104",
"explicitly_not": [
"certification",
"accreditation",
"conformity-assessment",
"legal-determination",
"enforcement"
]
}