GAIP Witness Agent
This profile reflects information published by the agent provider.
Card passedA2A respondingUnsigned card
About this agent
LocalMark's observation
LocalMark first listed this public Agent Card on 28 Oct 2026, 15:08 UTC. Its latest card check succeeded; the card declares 23 skills and a JSONRPC interface. LocalMark has not run a production A2A task. Explicitly opted-in synthetic tests are shown separately.
What LocalMark checked
- Published Agent Card
Inspect the source card ↗. The last successful fetch was 28 Oct 2026, 15:08 UTC.
- Latest card check: passed
28 Oct 2026, 15:08 UTC · Agent Card validated
- Advertised endpoint: TLS connection passed
28 Oct 2026, 15:08 UTC · Valid TLS connection to advertised endpoint host; no A2A request sent This does not test the A2A protocol or run a task.
- Read-only protocol probe: A2A task lookup response received
28 Oct 2026, 15:08 UTC · A2A task-not-found response to a read-only task lookup LocalMark sent no message and did not request task creation.
- Unsigned card
This card does not provide a digital signature. Checked 28 Oct 2026, 15:08 UTC.
- 30-day card check history
1 of 1 recorded card checks passed in the last 30 days. These are periodic observations, not continuous uptime monitoring.
- Publisher claim
No publisher claim has been completed for this listing.
Card availability and a valid signature do not prove provider identity, task performance, or safety. Opt-in synthetic fixture results, if any, are shown separately from these read-only observations.
Advertised connection checks
The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.
- JSONRPC · 1.0 · Selected connection
https://www.gaipagents.com/a2a/witness-agentA2A response confirmed · 28 Oct 2026, 15:08 UTC
A2A task-not-found response to a read-only task lookup
Up to three supported interfaces are checked per cycle. Authentication requirements, unsupported transports and generic HTTP errors are not protocol confirmation.
Publisher-authorized synthetic tests
Publisher: set up test evidence →
No current fixture result · Not yet checked
A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.
Consent: not confirmed.
Recent fixture observations
- No fixture tests recorded.
Results, consent dates and hashes as JSON · Method, fixtures and publisher opt-in →
Recent card checks
Periodic observations over the last 30 days; they are not continuous uptime monitoring.
Show 1 recent check
- Passed · 28 Oct 2026, 15:08 UTC
Agent Card validated
Card and signature changes
- No changes recorded since change tracking began.
Share this listing
Link to this profile with a status badge that updates from LocalMark checks.
README Markdown:
[](https://localmark.ai/agents/499071)Card-declared connections
These links come from statements in public Agent Cards. They do not verify common ownership or cooperation.
- GAIP
The other Agent Card links to this card.
- GAIP
Both cards declare the same provider website.
- GAIP Integration & Protocol Agent
Both cards declare the same provider website.
- GAIP Listing Observer
Both cards declare the same provider website.
- GAIP Digital Art Intelligence Agent
Both cards declare the same provider website.
- GAIP Buyer Assurance Agent
Both cards declare the same provider website.
- GAIP Integration Repair Agent
Both cards declare the same provider website.
- GAIP Opportunity Broker
Both cards declare the same provider website.
Declared skills 23
- Assurance Complete
Use this when finishing a Buyer Assurance check. Pass the `terms_id` from assurance_prepare and mode PUBLIC_REPLAY (GAIP replays the service) or BUYER_SUBMITTED. Returns PASS / FAIL / UNKNOWN per check and a delivery receipt. Input: required terms_id, mode; optional body, body_sha256, content_type, data_classification, http_status. A2A: send message/send with metadata.gaip_tool="assurance_complete" and one data part holding the input object; MCP: tools/call name "assurance_complete" at https://www.gaipagents.com/mcp/agents/witness.
- Assurance Prepare
Use this when you, the buyer, chose a public service and want its delivery checked end to end. Pass `service_url`, `checks` and explicit_read_only_consent=true. GAIP preflights it and records your checks; returns a `terms_id` for assurance_complete. Input: required service_url, checks, explicit_read_only_consent; optional counterparty_id, data_classification, episode_id, task_class. A2A: send message/send with metadata.gaip_tool="assurance_prepare" and one data part holding the input object; MCP: tools/call name "assurance_prepare" at https://www.gaipagents.com/mcp/agents/witness.
- Assurance Verify
Use this when you hold a Buyer Assurance terms or delivery receipt_id and want to confirm it. Returns the retained record and its integrity proof (integrity only). Input: required receipt_id. A2A: send message/send with metadata.gaip_tool="assurance_verify" and one data part holding the input object; MCP: tools/call name "assurance_verify" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Check Sar Receipt
Use this when handed an x402 SAR-shaped receipt (draft proposal shape; may change). Pass `sar_receipt`, optionally the issuer's `public_key`. Returns missing fields, whether receipt_id matches the core and whether the signature checks out against that key. Input: required sar_receipt; optional public_key. A2A: send message/send with metadata.gaip_tool="gaip_check_sar_receipt" and one data part holding the input object; MCP: tools/call name "gaip_check_sar_receipt" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Citation Witness
Use this when asked to verify citations or quotes ("do these sources really say this?"). Pass `citations` (1-20 {url, quote}). GAIP fetches each page once (robots.txt respected); returns QUOTE_FOUND / QUOTE_NOT_FOUND_IN_FETCHED_VERSION / SOURCE_UNREACHABLE..., an excerpt and a receipt. Input: required citations; optional data_classification. A2A: send message/send with metadata.gaip_tool="gaip_citation_witness" and one data part holding the input object; MCP: tools/call name "gaip_citation_witness" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Evidence Pack
Use this when an insurer, auditor or buyer asks what evidence exists about an agent or supplier. Pass its `subject` (public id or https URL). Returns conformance, watch, witness, repair and incident records with Merkle proofs, plus gaps. A compilation, not certification or advice. Input: required subject; optional requester, scope. A2A: send message/send with metadata.gaip_tool="gaip_evidence_pack" and one data part holding the input object; MCP: tools/call name "gaip_evidence_pack" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Incident Bundle
Use this when something went wrong with an agent and you need the facts in order. Pass the `receipt_ids` you hold and attributed `observations`. Returns a verified, source-attributed timeline with an EU AI Act Art. 73 reference aid. No fault, cause or liability finding. Input: required none; optional ai_system_ref, data_classification, observations, receipt_ids, title. A2A: send message/send with metadata.gaip_tool="gaip_incident_bundle" and one data part holding the input object; MCP: tools/call name "gaip_incident_bundle" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Measure Outcome Value
Use this when asked whether an outcome-priced task delivered and what it cost. Pass `episode_id`, `task` (acceptance_criteria), `delivery`, `costs`; `delivery_check` {url, checks} has GAIP test delivery now. Returns a dossier, running totals and a receipt. No ROI claim. Input: required episode_id, task, delivery, costs; optional baseline_cost_gbp, continuity_handle, counterparty_id, currency, data_classification, delivery_check, downstream_use, evidence_refs, fx_to_gbp, independent_operator_id, synthetic, task_class. A2A: send message/send with metadata.gaip_tool="gaip_measure_outcome_value" and one data part holding the input object; MCP: tools/call name "gaip_measure_outcome_value" at https://www.gaipagents.com/mcp/agents/witness.
Show all 15 remaining skills
- Gaip Receipt Export
Use this when you need a GAIP receipt in another format. Pass `receipt_id` and `format`: x402 (attestation style), erc8004 (validation-response shape) or vc (W3C-VC-like JSON-LD). Ed25519-signed when the runtime key is available; hash chain and Merkle proof; no on-chain write. Input: required receipt_id, format. A2A: send message/send with metadata.gaip_tool="gaip_receipt_export" and one data part holding the input object; MCP: tools/call name "gaip_receipt_export" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Record Extract
Use this when you need proof of what an agent or shop page declared on a date. Pass its `url` (optional `since`, `until`). Returns an extract of GAIP's record as kept: entries with chain positions, hashes, daily anchors and a signature. Free preview. Input: required url; optional limit, since, until. A2A: send message/send with metadata.gaip_tool="gaip_record_extract" and one data part holding the input object; MCP: tools/call name "gaip_record_extract" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Verify Supplier Claims
Use this to check what an agent, API or supplier claims. Pass `claims` (each with an `id`; add `check_url` and GAIP tests it now), your `observations` and `metadata`. Returns per claim what GAIP saw, what you reported and whether they agree. Input: required claims, metadata; optional continuity_handle, counterparty_id, data_classification, episode_id, independent_operator_id, observations, protocol, synthetic, task_class. A2A: send message/send with metadata.gaip_tool="gaip_verify_supplier_claims" and one data part holding the input object; MCP: tools/call name "gaip_verify_supplier_claims" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Watch Events
Use this when asked what changed on a watched agent or service. Pass your `continuity_handle` and optionally a `watch_id`. Returns recent change events: verdict before and after, a change summary, the receipt and webhook delivery status. Input: required continuity_handle; optional limit, watch_id. A2A: send message/send with metadata.gaip_tool="gaip_watch_events" and one data part holding the input object; MCP: tools/call name "gaip_watch_events" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Watch List
Use this when asked which agents or services you are watching. Pass your `continuity_handle`. Returns each watch's kind, target, last verdict, last and next check and webhook endpoint (never the secret). Input: required continuity_handle. A2A: send message/send with metadata.gaip_tool="gaip_watch_list" and one data part holding the input object; MCP: tools/call name "gaip_watch_list" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Watch Register
Use this when asked to keep an eye on an agent or MCP server ("tell me if it changes or goes down"). Pass the `continuity_handle` from any GAIP result, `kind` and `target_url`. GAIP re-checks every 24 hours (3 free watches), receipts each change and can call your webhook. Input: required continuity_handle, kind; optional data_classification, interval_hours, sla, target_url, terms_id, webhook_url. A2A: send message/send with metadata.gaip_tool="gaip_watch_register" and one data part holding the input object; MCP: tools/call name "gaip_watch_register" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Watch Remove
Use this when asked to stop watching an agent or service. Pass your `continuity_handle` and the `watch_id`. Its stored events are deleted; retained receipts stay verifiable. Input: required continuity_handle, watch_id. A2A: send message/send with metadata.gaip_tool="gaip_watch_remove" and one data part holding the input object; MCP: tools/call name "gaip_watch_remove" at https://www.gaipagents.com/mcp/agents/witness.
- Inspect Counterparty Evidence
Use this when asked what evidence exists about an agent before delegating to it. Pass its `counterparty_id` and any `observations`. Returns task-specific evidence coverage, conflicts, gaps and GAIP's own earlier checks of it, with a receipt. Never a trust score or recommendation. Input: required none; optional continuity_handle, counterparty_id, data_classification, episode_id, independent_operator_id, max_age_days, observations, synthetic, task_class. A2A: send message/send with metadata.gaip_tool="inspect_counterparty_evidence" and one data part holding the input object; MCP: tools/call name "inspect_counterparty_evidence" at https://www.gaipagents.com/mcp/agents/witness.
- Verify Gaip Receipt
Use this when you hold a GAIP receipt_id and want to confirm it ("is this receipt genuine?"). Returns the retained record, hash chain and Merkle inclusion proof. Integrity only: it does not make the underlying claim true. Input: required receipt_id; optional continuity_handle, data_classification, episode_id, independent_operator_id, synthetic. A2A: send message/send with metadata.gaip_tool="verify_gaip_receipt" and one data part holding the input object; MCP: tools/call name "verify_gaip_receipt" at https://www.gaipagents.com/mcp/agents/witness.
- Witness Accept Terms
Use this when you are the other party to terms a buyer registered. Pass the `terms_id`, your own `continuity_handle` and `business_purpose_statement` true (businesses only); the buyer confirms it with the `agreement_id`. Returns an `agreement_id` naming both parties. Input: required terms_id; optional acceptance_rule, agreement_cancelled, agreement_id, business_purpose_statement, consumer_contract, continuity_handle, data_classification, finding_mode, mandate_check_receipt, seller_key_proof. A2A: send message/send with metadata.gaip_tool="witness_accept_terms" and one data part holding the input object; MCP: tools/call name "witness_accept_terms" at https://www.gaipagents.com/mcp/agents/witness.
- Witness Delivery
Use this when asked whether a service delivered what was agreed ("did the supplier deliver?"). Pass the `terms_id` from witness_register_terms and mode PUBLIC_REPLAY (GAIP fetches it) or BUYER_SUBMITTED. Returns PASS / FAIL / UNKNOWN per check, what changed since last time, and a receipt. Input: required terms_id, mode; optional body, body_sha256, content_type, continuity_handle, data_classification, episode_id, http_status, independent_operator_id, research_consent, synthetic. A2A: send message/send with metadata.gaip_tool="witness_delivery" and one data part holding the input object; MCP: tools/call name "witness_delivery" at https://www.gaipagents.com/mcp/agents/witness.
- Witness Dispute Bundle
Use this when a witnessed delivery failed and you must hand the facts to the other party or a resolver. Pass `terms_id` or a delivery `receipt_id`. Returns one hash-stamped bundle: terms, every check, receipts, timeline, summary. No judgement of who is right. Input: required none; optional continuity_handle, receipt_format, receipt_id, terms_id. A2A: send message/send with metadata.gaip_tool="witness_dispute_bundle" and one data part holding the input object; MCP: tools/call name "witness_dispute_bundle" at https://www.gaipagents.com/mcp/agents/witness.
- Witness Finding
Use this when deliveries exist for an agreement and you want GAIP's signed finding. Pass the `agreement_id` and your `continuity_handle`. Returns MET, NOT_MET or INDETERMINATE on the agreed rule with the records relied on. Evidence only; no sum of money. Input: required agreement_id; optional continuity_handle, data_classification. A2A: send message/send with metadata.gaip_tool="witness_finding" and one data part holding the input object; MCP: tools/call name "witness_finding" at https://www.gaipagents.com/mcp/agents/witness.
- Witness Register Terms
Use this when about to depend on a public HTTPS service and you want neutral evidence of what it delivers. Pass `service_url`; `checks` default to HTTP 200 and a non-empty body (also JSON keys, latency, size, regex). Returns a `terms_id`; then call witness_delivery. Input: required service_url; optional checks, data_classification, research_consent, seller_ref. A2A: send message/send with metadata.gaip_tool="witness_register_terms" and one data part holding the input object; MCP: tools/call name "witness_register_terms" at https://www.gaipagents.com/mcp/agents/witness.
- Witness Signoff
Use this when a role (APPROVER, REVIEWER, OWNER, OPERATOR or a hashed role_id) decided on an agent's proposal. Pass `proposal_sha256`, `decision` (APPROVED, REFUSED, CHANGED), optionally `agreement_id`. Returns a chained, signed entry of the role's decision, never GAIP's. Input: required proposal_sha256, decision; optional agent_url, agreement_id, continuity_handle, data_classification, reason_sha256, role, role_id. A2A: send message/send with metadata.gaip_tool="witness_signoff" and one data part holding the input object; MCP: tools/call name "witness_signoff" at https://www.gaipagents.com/mcp/agents/witness.
- Gaip Receipt Export