Why Agreements Protocol
Agreements are how people, organizations, and agents coordinate around shared commitments.From static records to operational agreements
Traditional agreements are passive records. They describe what parties accepted, but the operational rules usually live somewhere else: in applications, workflows, databases, or custom smart contracts. Shodai makes that operational layer part of the agreement definition itself. A Shodai agreement can define what was agreed, who the parties are, who can act, what inputs are valid, what state the agreement is in, what can happen next, and how the history can be verified. The current implementation realizes this through a common agreement data standard, an onchain execution model, and an API/app layer for deploying and operating agreements.An agreement should not only record what parties accepted; it should define who can act, what can happen next, and how progression can be verified.
What Agreements Protocol provides
Agreements Protocol closes the gap between what parties agree to and how that agreement is reliably, verifiably carried forward. It defines agreements as shared artifacts with:
These properties are exposed visually as behavioral maps of the agreement, helping humans and agents understand which states exist, which inputs are valid, who may submit them, and what transitions can occur next.
The onchain implementation uses a data-defined state machine to make agreement behavior explicit, inspectable, and verifiable.
Benefit and inspection map
Current boundaries:
- the core engine does not currently custody funds or natively transfer ETH/ERC-20 assets
- the documented happy path uses the API-assisted deployment and operation flow
- direct onchain operation should be documented and inspected through the onchain/EIP-712 references
- programmatic agreement generation is possible because agreements are data, but generated agreements should still be valid for the current EVM/onchain implementation and reviewable before deployment
How the system fits together
Agreements Protocol moves from agreement meaning to execution to integration across three layers:1
Agreement data standard
A common language for terms, variables, participants, inputs, states, transitions, and execution metadata.
2
Onchain execution engine
The onchain implementation uses a data-defined state machine to make agreement behavior explicit, inspectable, and verifiable.
3
Application and API layer
Tooling for validation, deployment preflight, participant mapping, signing, state reads, input history, and monitoring.
Using these docs with an AI agent
These docs are designed to help an AI coding agent answer your question, find the right implementation path, and move from explanation to a working experiment. The pages below are useful discovery starting points, not a required reading order:- llms.txt for the available Markdown pages and OpenAPI.
- Choose an integration surface for deciding between the TypeScript SDK and MCP first-run paths.
- Quickstart with TypeScript SDK for a TypeScript first flight through auth, validation, preflight, and deploy-permit signing readiness.
- Quickstart with MCP for an agent/MCP first flight through authenticated tools and deploy typed-data preparation.
- Run an end-to-end agreement workflow for the full lifecycle after either quickstart.
- TypeScript client reference for SDK methods, signing helpers, wallet/RPC requirements, and diagnostics.
- Architecture for the product and protocol model.
- Agreement data standard for the agreement definition that humans read, agents inspect, and execution engines enforce.
Where to go next
Start with Choose an integration surface, then run one first-flight quickstart. After that, use Run an end-to-end agreement workflow to exercise the full lifecycle.Choose an integration surface
Decide between the TypeScript SDK and MCP first-run paths.
Quickstart with TypeScript SDK
Authenticate, validate an example, preflight deployment, and sign a deploy permit without deploying.
Quickstart with MCP
Configure hosted MCP, call authenticated tools, and prepare deploy typed data without private-key custody.
Run an end-to-end workflow
Deploy, submit a signed input, read state, and inspect history.
Architecture
See how agreement definitions, SDKs, onchain execution, history, and APIs fit together.
TypeScript client reference
Reference typed methods, signing helpers, diagnostics, path helpers, and exports.
The default path
- Choose an integration surface: choose TypeScript SDK or MCP for the first run.
- Quickstart with TypeScript SDK or Quickstart with MCP: prove auth plus non-destructive write readiness.
- Run an end-to-end agreement workflow: run the full lifecycle with the service retainer example.
- TypeScript client reference: inspect SDK methods, signing helpers, diagnostics, and exports.
- Agreement data standard: understand the agreement definition model.
- Author agreement JSON: model the business workflow deliberately.
- Validate agreement structure: check the authored artifact before deployment context is added.
- Deploy an agreement: preflight deployment values and deploy with a permit signature.
- Operate a deployed agreement: read state, submit signed inputs, and inspect history.
The agreement lifecycle
Where examples and reference fit
Simple Agreement and Complex Agreement are complete agreement JSON artifacts you can inspect or adapt before validating and deploying. Use Run an end-to-end agreement workflow when you want a guided run of the complex service retainer example through validation, deployment, operation, state, and history. Use the API Reference group in the sidebar for generated request and response details fromopenapi.json. Use EIP-712 Signing Reference when you are constructing typed data directly, verifying SDK helper behavior, or debugging a signing mismatch. Use Errors and troubleshooting when a request fails.