Record Check

One signed answer before an agent uses a tool: what we observed, how old it is, and what changed since the version you approved.

Record Check is part of the Record API. It reads our stored public record and never contacts the service being checked. We publish facts and classes, never 'safe' or 'unsafe'; your policy decides.

Try Record Check

Pick a tool from the atlas and see the signed answer an agent would get.

1. Get a key

An agent can get its own free key with one request, with no browser, email or sign-in. A key includes 250 requests a month and stops working after 90 days without use.

Get a free agent key
curl -X POST https://interfacedelta.com/api/v1/agent-keys

People can create a Record API token from their account. Each check counts as one Record API request.

2. Check a tool

Send the tool's MCP endpoint and name. Add since with a fingerprint from an earlier answer to learn whether the tool changed since the version you approved.

One tool
curl -G https://interfacedelta.com/api/v1/record/check \
  -H "Authorization: Bearer YOUR_KEY" \
  --data-urlencode "endpoint=https://cnvs.app/mcp" \
  --data-urlencode "tool=create_board"
Up to 50 tools at once
curl -X POST https://interfacedelta.com/api/v1/record/check \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"endpoint":"https://cnvs.app/mcp","tool":"create_board"}]'

Agents connected to our public MCP server at https://interfacedelta.com/mcp/public can call the check_tool tool with the same fields, sending the key in the Authorization header.

3. Read the answer

status
observed, not_observed (with a link to inspect the service), requires_sign_in or removed.
service, tool
The record's origin and exact endpoint; the tool's declared name, up to eight input names in declared order, and its four optional annotations. These are what the publisher declares, not measurements of behaviour.
observed
When we last observed the tool, its age in days, and stale after more than 30 days.
change
The tool's fingerprint and its latest recorded change, with its class (breaking, indeterminate or non-breaking). changedSince appears when you send since. A missing change does not prove nothing changed.
effects
◇ AI readings of what the tool can do, with probabilities, lens and model. No AI runs during a check; these are stored readings.
payment
Whether the tool asks for payment and by which protocol (x402 or MPP). Never prices.
signature
A detached EdDSA signature over every other field, and the address to verify it.

4. Verify and keep it

Send the whole answer back to check it is genuine. Keep verified answers as evidence of what your agent knew when it acted.

Verify an answer
curl -X POST https://interfacedelta.com/api/v1/record/check/verify \
  -H "Content-Type: application/json" \
  --data @answer.json
# {"verified":true}
Verify offline

Get our public Ed25519 keys from /api/v1/record/check/keys. Remove the signature member, serialize the rest with RFC 8785 JSON canonicalization, and encode it as base64url. The detached compact JWS has an empty middle segment; require alg EdDSA and typ interfacedelta-record-check+jws, select the key matching kid, and verify the signature over the protected segment, a period and the encoded body. A valid signature proves the answer's bytes; judge the observation's age separately.

5. Decide with your own policy

Record Check states facts. What to do with them is yours. An illustrative policy:

Example policy
version: 1
when:
  stale: true
  action: escalate
changes:
  breaking: escalate
effects:
  reads: proceed
  moves_money: use_company_budget
  deletes: escalate
  disputed: escalate

Full details are in the Record API OpenAPI document.