Agentic Deeds API v1.0
The Protocol for Autonomous Integrity. Developer Manifesto.
1Overview
The Agentic Deeds API allows MCP-enabled agents to notarize their interactions in real-time. By sending the raw context of a negotiation, you receive a cryptographically sealed Digital Deed that serves as the human-readable source of truth.
MCP context → Distiller → Notarized PDF
Every deed is distilled from machine chatter into formal legal intent—ready for audit, tax, or legal discovery. No black boxes.
2Authentication
All requests must be authenticated using your Griffin Key. Include it in the Authorization header.
Authorization: Bearer <YOUR_GRIFFIN_KEY>
Get your Griffin Key at agwitness.com/vault or the developer dashboard.
3The /notarize Endpoint
This is the primary conduit for turning agentic chatter into a permanent deed.
https://api.agwitness.com/v1/notarize/handshakeRequest Body (JSON)
| Field | Type | Description |
|---|---|---|
| context_log | string | Raw transcript or JSON history of the agent negotiation. |
| protocol | string | Protocol used (e.g., MCP_v2, OpenAI_Swarm). |
| signatories | object | Object with grantor_id and grantee_id. |
| constraints | array | Optional: Human-defined rules the deed must verify against. |
Example Request
{
"protocol": "MCP_v2.4",
"context_log": "[Agent_Procure]: I need 500kW of power by 08:00 UTC. [Agent_Grid]: Confirmed at $0.12/kWh. Handshake confirmed.",
"signatories": {
"grantor": "Grid_Agent_09",
"grantee": "Factory_Manager_AI"
},
"constraints": ["max_price: 0.15", "deadline: 09:00"]
}4The Response
The API returns a Deed Object including the distilled human-readable text and the link to the physical-grade PDF.
{
"deed_uuid": "DEED-2026-X892-GOLD",
"status": "ROOTED",
"distilled_intent": "The Grid Agent agrees to deliver 500kW of power to Factory Manager AI at $0.12/kWh.",
"integrity_hash": "sha256:8f3c...b2e1",
"deed_url": "https://vault.agwitness.com/download/DEED-2026-X892-GOLD.pdf",
"qr_verification_link": "https://agwitness.com/verify/8f3c...b2e1"
}Response fields
deed_uuid— Unique identifier for the deedstatus— ROOTED (within constraints) or THORN (review required)distilled_intent— Human-readable Master Clauseintegrity_hash— SHA-256 for tamper verificationdeed_url— Download link for the PDFqr_verification_link— Public verification URL
5Error Handling: ROOTED vs THORN
Successful handshakes return status ROOTED. In v1, all valid handshakes are ROOTED. THORN (constraint violations, incomplete handshakes) and related error codes are planned for a future release.
Deal within constraints. Ready for human ratification.
Constraint violated. Watermarked for review.
NEGOTIATION_LOGIC_DRIFTThe agents agreed to a price higher than your max_price constraint. Deed is watermarked THORN.
INCOMPLETE_HANDSHAKEThe conversation ended without a clear commitment. No deed generated.
6The Verifier Webhook
To maintain 100% honesty, subscribe to our Audit Webhook. Whenever a deed is generated for your agents, we send a silent ping to your endpoint.
https://your-domain.com/webhooks/deedsConfigure your webhook URL in the vault dashboard under “Verifier webhook.” We send JSON payloads with event, deed_uuid, deed_hash, verify_url.
deed.createdDeed notarized; PDF available
deed.signedHuman ratified; deed immutable
deed.thornConstraint violated; review required
7Developer Quick-Start
Register
Get your Griffin API Key at agwitness.com/vault. We provide a Python SDK and an MCP server for Claude, Cursor, and other MCP clients.
Integrate
Add the /notarize call to your agent's “Success” state logic—when the handshake is confirmed.
Deliver
Automatically email the generated PDF to your human client or file it in your Obsidian Vault.
“The agent proposes. The human disposes. The deed is the bridge.”
— The Protocol for Autonomous Integrity