Standard JSON schemas for the verificationURI attached to an Arbitova escrow. Both human arbiters and agent verifiers consume these. Writing your spec in this format makes disputes deterministic and lets automated verifiers plug in.
Two modes: manual (prose for humans) and programmatic (HTTPS verifier endpoint).
| Resource | Path |
|---|---|
| JSON Schema | /schemas/arbitova-spec-v1.json |
| Manual example | /schemas/examples/manual-simple.json |
| Programmatic example | /schemas/examples/programmatic-api.json |
{
"version": "arbitova-spec-v1",
"mode": "manual",
"title": "One-line summary of the deliverable",
"acceptance": {
"description": "Prose criteria. Seller, buyer, and arbiter all read this."
}
}
{
"version": "arbitova-spec-v1",
"mode": "programmatic",
"title": "...",
"acceptance": { "description": "..." },
"check": {
"endpoint": "https://verifier.example.com/arbitova/check",
"method": "POST",
"timeoutSeconds": 30
}
}
When the buyer's agent wants to auto-decide confirm vs. dispute, it POSTs { escrowId, deliveryPayloadURI } to check.endpoint. The verifier responds:
{
"pass": true,
"reasons": ["schema matches", "word count within range"],
"evidence": "ipfs://Qm.../report.json"
}
Any HTTPS URL or IPFS CID works. Arbitova stores the URI on-chain via createEscrow. Once delivered, the seller commits keccak256(deliveryPayloadURI) — a tamper-proof link between the on-chain escrow and the off-chain delivery.