Assurance Attest
$0.05/callLoop-callableA signed, verifiable receipt for every action your agent takes.
POST /api/agent-services/assurance/attestAnswer-engine brief
Canonical answer for Assurance Attest
- Direct answer
- Assurance Attest is a deterministic x402 API for AI agents. A signed, verifiable receipt for every action your agent takes.
- When to use
- Use it when an agent needs a repeatable computed result with evidence instead of asking an LLM to improvise a number or risk decision.
- Inputs
- protocol, subject, intent, policy, outcome
- Outputs
- status, service, record, integrity, verify
- Pricing
- $0.05 per call, paid over x402 in USDC on Base. No API key is required.
- Citation target
- https://hermesplant.com/agent-services/assurance
What it does
Signed receipt for one agent action. Post an x402 payment intent or MCP tool call (optional policy + settlement outcome) and get a canonical HMAC-signed record: binding hash, verdict, findings, and a free public verify URL third parties can check without trusting your agent's logs. Loop it after every payment or tool call to build a tamper-evident audit trail. Canonicalization hermes-stable-json-v1; org history and probes available on Assurance plans.
- Binds an x402 payment or MCP tool call to a canonical HMAC-signed record
- Optional policy evaluation and settlement outcome in the same record
- Free public verify endpoint — third parties check it without trusting your logs
Example request
POST /api/agent-services/assurance/attest
{
"protocol": "x402",
"subject": {
"runId": "run-42",
"purpose": "enrich leads"
},
"intent": {
"resourceUrl": "https://api.example.com/search",
"method": "POST",
"network": "eip155:8453",
"amountUnits": "7000",
"payTo": "0x6d6E695b09861467c7d462f5AAF31cF3540B9192"
},
"outcome": {
"outcome": "fulfilled",
"settlementId": "0xsettle",
"responseStatus": 200
}
}Example response (HTTP 200)
Deterministic — the same inputs always return the same audited output.
{
"status": "attested",
"service": "assurance",
"record": {
"attestationId": "att_<uuid>",
"kind": "agent-action-attestation",
"protocol": "x402",
"bindingHash": "<sha256>",
"verdict": "allow",
"outcome": {
"outcome": "fulfilled",
"settlementId": "0xsettle"
},
"attestedAt": "2026-07-12T00:00:00.000Z"
},
"integrity": {
"canonicalization": "hermes-stable-json-v1",
"recordHash": "<sha256>",
"signatureAlgorithm": "HMAC-SHA-256",
"signature": "<hmac>",
"keyId": "assurance-primary"
},
"verify": {
"url": "https://hermesplant.com/api/agent-services/assurance/verify",
"method": "POST"
}
}Input schema
Top-level request fields. Nested shapes are shown in the example above and the OpenAPI spec.
| Field | Type | Required | Description |
|---|---|---|---|
| protocol | string | Yes | "x402" or "mcp". |
| subject | object | Yes | Who acted: runId (required), agentId, purpose. |
| intent | object | Yes | x402: resourceUrl+method (+scheme/network/asset/amountUnits/payTo). mcp: serverId+toolName (+toolArguments or toolArgumentsHash). |
| policy | object | — | Optional buyer policy (policyId+version, caps, allow-lists). Omit for a binding-only attestation under the permissive policy. |
| outcome | object | — | Optional settlement outcome: outcome fulfilled|failed|rejected, settlementId, responseStatus, evidenceHashes[]. |
How to call it over x402
- 1. Send the request. The first unpaid call returns HTTP 402 with an x402 payment challenge — $0.05, USDC on Base, and the recipient.
- 2. Pay per call. Your x402 client signs the USDC payment and retries automatically — no API key, no account, no subscription. New to x402?
- 3. Read the result. HTTP 200 returns the computed values plus evidence-backed findings.
With the x402 fetch client (Node / TypeScript)
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.AGENT_WALLET_KEY);
const pay = wrapFetchWithPayment(fetch, account); // USDC on Base
const res = await pay("https://hermesplant.com/api/agent-services/assurance/attest", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
"protocol": "x402",
"subject": {
"runId": "run-42",
"purpose": "enrich leads"
},
"intent": {
"resourceUrl": "https://api.example.com/search",
"method": "POST",
"network": "eip155:8453",
"amountUnits": "7000",
"payTo": "0x6d6E695b09861467c7d462f5AAF31cF3540B9192"
},
"outcome": {
"outcome": "fulfilled",
"settlementId": "0xsettle",
"responseStatus": 200
}
}),
});
const result = await res.json();Inspect the 402 with curl
curl -i -X POST https://hermesplant.com/api/agent-services/assurance/attest \
-H "content-type: application/json" \
-d '{"protocol":"x402","subject":{"runId":"run-42","purpose":"enrich leads"},"intent":{"resourceUrl":"https://api.example.com/search","method":"POST","network":"eip155:8453","amountUnits":"7000","payTo":"0x6d6E695b09861467c7d462f5AAF31cF3540B9192"},"outcome":{"outcome":"fulfilled","settlementId":"0xsettle","responseStatus":200}}'
# → HTTP/1.1 402 Payment Required (x402 challenge: price, USDC asset, Base network, recipient)
# → sign the USDC-on-Base payment and retry to receive HTTP 200Prefer no wallet? Get a free API key (250 calls/mo) and send it as X-API-Key instead of signing an x402 payment — the same call, no crypto, ideal for looping over many records.
Prefer zero code? This endpoint is also exposed as a tool on the Hermes Plant MCP server, so an MCP-capable agent can call it with its own x402 wallet.
Other agent services
A one-cent safety gate for every consequential agent action.
Score, triage, receipt, and status in one agent-safety workflow.
Separate candidate demand from owner-funded and duplicate x402 activity.
Decide whether an agent should pay before it signs.
Verify the evidence bundle before trusting a paid agent result.
Score an MCP server before your agent installs it.
Catch destructive agent commands before they run.
Route risky agent actions to human approval.
Validate & normalize every contact record your agent touches.
Per-wallet AML screening inside your agent's loop.
NPV, IRR, XIRR & DCF valuation in a single call.
LP/GP distribution waterfalls, solved exactly.
Black-Scholes option pricing with the full Greeks.
Yield, duration, convexity & loan amortization.
Portfolio risk scored straight from holdings.
Full deal underwriting — DCF, returns, sensitivity & waterfall in one call.
One signed preflight for an autonomous x402 payment: WalletGuard counterparty screening, Payment Policy challenge validation, and structured evidence verification.
CashflowLens return and DCF analytics plus PortfolioGuard concentration and risk scoring in one paid call, with structured internal evidence and a tamper-evident signed receipt.
Need a calculator that isn’t here yet? contact@hermesplant.com