OpenChainGraph Suite · ART-32 · A2A Agent-Card Trust-Chain Validator
v1.0.0

A2A Agent-Card Trust-Chain Validator

The horizontal (agent↔agent) trust complement to the vertical payments chain. Validate an A2A v1.0 agent-card.json — discovered at /.well-known/agent-card.json — then walk the delegated-authority trust chain into KYA-OS attestation and a spend-policy summary. Checks card schema, signature / verification-method block, extension URIs, and every delegation hop for no scope escalation, validity windows, expiry, and spend caps. Issues one PASS / WARN / FAIL trust determination plus a single OpenChainGraph execution_hash receipt (chain_depth: 0 — this node is a chain root). Client-side. Zero PII. Educational / simulation.

OpenChainGraph §5/§6 Chain Root · Depth 0 A2A v1.0 · Linux Foundation Delegated Authority KYA-OS / Spend Policy Zero PII compliance_mandate
🔒 All validation runs entirely in your browser (connect-src 'none' — zero network calls). Do not paste live agent signing keys, production credentials, or customer PII. Use synthetic / test agent cards and delegation fixtures only. Structure checks only — no cryptographic signature verification (verify against the publishing domain's key out of band).
Stage 1 — A2A v1.0 Agent Card (required)
agent-card.json
A2A v1.0 card served at /.well-known/agent-card.json. Required keys: name, url, version, protocolVersion, capabilities, skills[]. A signatures[] JWS array or verification method is recommended.
Stage 2 — Delegated-Authority Trust Chain (optional)
Delegation links (ordered root → leaf)
JSON array. Each link: { issuer, subject, scope: ["..."], valid_days }. Trust rules: depth ≤ 4 hops · every child scope ⊆ parent scope (no escalation) · every valid_days ≤ 90 · no expired (valid_days ≤ 0) links.
Stage 3 — Spend-Policy Summary (optional)
Spend caps
JSON: { per_tx_cap, daily_cap } in a single currency. Both should be present, numeric, and positive. daily_cap should be ≥ per_tx_cap.
Trust Determination
Trust Checks
OpenChainGraph Artifact · execution_hash
SHA-256:

Computed client-side via WebCrypto SHA-256 over cgCanon({policy_parameters, output_payload}). Chain root — parent_hashes: none · chain_depth: 0. Feeds ART-04, ART-02, PTG-01.

Spec References
[1] A2A protocol (Agent2Agent, Linux Foundation) — agent-card.json shape, Signed Agent Cards, capabilities.extensions. a2a-protocol.org
[2] Delegation-chain trust thresholds (depth ≤ 4, no scope escalation, validity ≤ 90 days) are this tool's illustrative defaults — tune to your KYA-OS / agent-governance policy.
[3] Downstream: ART-04 Identity Attestation · ART-02 Spend Policy · PTG-01.