DEV Community

ScriptMasterLabs
ScriptMasterLabs

Posted on Originally published at scriptmasterlabs.com

SML Verdict Protocol Is Live: Signed Decision Receipts for Agents That Manage Capital

SML Verdict Protocol Is Live: Signed Decision Receipts for Agents That Manage Capital

An AI agent that manages capital should not act on a model's say-so. It should have to file its reasoning, have that reasoning judged, and receive a signed receipt before any money moves. That is the system we put into production today.

SML Verdict Protocol is live at sml-verdict-protocol.onrender.com. It is a decision-receipt service for agent workflows: a caller submits a structured decision capsule, the capsule is evaluated against a fixed constitution and risk gates, and the service returns an HMAC-signed, persisted receipt. Payment settles only after the receipt is stored. Canonical overview: https://scriptmasterlabs.com/verdict-protocol

Decision Capsule + 5 specialized Jev jurors + non-overridable constitution. Jev chooses. Code decides. Built for agents that manage real capital.

Two tiers

VERDICT — POST /decide, $0.25 USDC on Base (x402)
Bring your own Jev key (BYOK, sent as a request header — the service holds no caller's key). Five specialized jurors (jev-1.13.0) evaluate the decision capsule. The verdict, the juror votes, the capsule hash, and the risk and constitution results are sealed into a signed receipt that is persisted before settlement.

SEAL — POST /seal, $0.01 USDC on Base (x402)
No jury. The capsule hash, constitution checks, and risk gates are sealed into the same signed, persisted receipt format. It is the low-cost integrity layer for workflows that need tamper-evident proof of what was decided, not deliberation.

Settlement discipline

Three properties are enforced in code, not promised in copy:

  1. Receipt before settlement. The signed receipt is written to the payment journal first. Settlement fires only after persistence succeeds.
  2. Replay without double charge. Replaying an identical signed payment request returns the original receipt and the original settlement transaction. The journal is keyed so a retry can never settle twice.
  3. Fail closed. A forged or invalid payment signature is rejected at the 402 gate — no jury call is made and nothing settles. Verdict calls without a BYOK key are rejected before payment is even requested.

Live proof (2026-10-12)

These are not testnet fixtures. Both tiers were exercised end to end with real USDC on Base mainnet, paid from a dedicated proof wallet to the production payTo:

  • Verdict: receipt a987aba4-d322-4087-9d09-161e9965940a — five juror votes recorded — settlement tx 0xfa3ec31ff345167a474c682cec4e2eac505cfdd570e158961a233187be5f6f1c
  • Seal: receipt 05ffd866-b535-406b-9523-b5dbc96832b1 — settlement tx 0x5bce2363ae8818fbb0ea5c6229ba8325c6c70792880d4939f324f96d35f7a1b7 — on-chain status: success, Base block 52522552
  • Identical replays of both requests returned the same receipts and the same settlement transactions. No second charge.

Boundaries, stated plainly

The protocol is decision-only. It takes no custody, submits no orders, and is not a clearing house — it issues evidence about decisions, denominated as a paid API call in USDC. Order-bearing decisions remain gated until an authoritative risk-context service is connected; the service's readiness endpoint reports that state honestly rather than implying coverage it does not have.

For builders

  • Verdict: POST https://sml-verdict-protocol.onrender.com/decide — $0.25, x402, header X-JEV-API-KEY with your Jev key
  • Seal: POST https://sml-verdict-protocol.onrender.com/seal — $0.01, x402, no key
  • Discovery: GET https://sml-verdict-protocol.onrender.com/.well-known/agent.json
  • Canonical page: https://scriptmasterlabs.com/verdict-protocol

If your agent spends money, it should be able to show its work — capsule in, jury votes recorded, receipt out, settlement last. That ordering is the product.

Top comments (0)