AISOURCEOFTRUTH.COM

Verify before an agent pays

Call verify-batch inside ACP, UCP or x402 flows, after the item is known and before money moves.

Who this is for

Buying agents, agent wallets and checkout services.

The problem

An agent about to pay for a dataset, model or report has no cheap way to confirm the seller's claims of origin or verification. One anonymous call before payment answers that, without revealing what the agent is about to buy.

How it works

Routes it uses

Set it up

Step 1. Collect the digests

Read record digests from the seller's product data, or hash the delivered bytes and look them up as assets.

Check: Every item in the cart has a digest or is marked unattested.

Step 2. Check before paying

In ACP, before completing the checkout session. In UCP, before authorizing payment. In x402, before signing the payment payload. One call covers the whole cart.

curl -s -X POST 'https://aisourceoftruth.com/v1/verify-batch' \
  -H 'Content-Type: application/json' \
  --data '{"digests":["{digest}"]}'

Check: A cart with a sealed test item stops before payment.

Step 3. Decide

present: false: treat the provenance claim as unsupported. sealed: true: do not buy. errata_count above zero: read the errata first. Use assess when you want the reasons in words.

curl -s -H 'Accept: application/json' 'https://aisourceoftruth.com/v1/model/assess/{digest}'

Check: Each outcome maps to a logged decision.

Step 4. Optionally witness the payment

A publisher can post a mandate record when the mandate is signed and a settlement record when it settles, both hashes only. See /guides/agent-payments for the exact fields.

BODY='{ ...record }'
SIG=$(printf %s "$BODY" | ./sign-ed25519)   # base64url signature over these exact bytes
curl -s -X POST 'https://aisourceoftruth.com/v1/records' \
  -H "Authorization: Bearer $AISOT_TOKEN" \
  -H "X-AISOT-Key-Id: $AISOT_KEY_ID" \
  -H "X-AISOT-Signature: $SIG" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H 'Content-Type: application/vnd.aisot.record+json' \
  --data-binary "$BODY"

Check: The settlement's log index is greater than its mandate's.

Wire it into your agent

Place the check in the payment tool, between cart confirmation and payment authorization. Fail closed on sealed; fail open with a warning on present: false only if your policy allows unattested goods.

MCP: add https://aisourceoftruth.com/mcp to the agent's MCP servers. Tools used: verify_batch, assess, publish_record. Read tools need no token.

With the PromptReports products, or alone

Expected outcomes

What it does not prove

The OpenSpec plan for your agent

Your coding agent fetches the plan and writes it into your repo as openspec/changes/integrate-aisot-verify-before-pay/:

curl -H 'Accept: application/json' 'https://aisourceoftruth.com/use-cases/verify-before-pay/openspec?lang=python&with=commitops'

Read it here: OpenSpec plan. Back to all use cases or the documentation library.

$ curl -H 'Accept: application/json' https://aisourceoftruth.com/use-cases/verify-before-pay # this page is a rendering of the API. Reproduce it as data.