79trust / 100

Attested Verification

by TenPrint in Security & trust

x402 APIPassing, checked 2 h ago

Attested verification-event custody: seal the fact that an identity/liveness/KYC check ran, its method, provider, and result — without the subject's identity ever reaching Rubric. Caller submits an opaque subjectRef (hash it client-side); the sealed record binds event to outcome, ML-DSA-65 signed and Hedera-anchored. Prove a verification happened and what it said, forever, to anyone.

POST https://rubric-protocol.com/v1/x402/attested-verification

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
386 ms typical, 449 ms slowest 5%
Last check
2 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://rubric-protocol.com/v1/x402/attested-verification" \
  -H "content-type: application/json" \
  -d '{"eventId":"evt-01J9Z0X7QK","method":"liveness","provider":"acme-idv","result":"pass","subjectRef":"sha256:9f2c1a..."}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Frubric-protocol.com%2Fv1%2Fx402%2Fattested-verification
const res = await pay("https://rubric-protocol.com/v1/x402/attested-verification", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"eventId":"evt-01J9Z0X7QK","method":"liveness","provider":"acme-idv","result":"pass","subjectRef":"sha256:9f2c1a..."}),
});
console.log(await res.json());

Example input

{
  "eventId": "evt-01J9Z0X7QK",
  "method": "liveness",
  "provider": "acme-idv",
  "result": "pass",
  "subjectRef": "sha256:9f2c1a..."
}

Example output

{
  "attestationId": "string",
  "eventHash": "sha256-of-canonical-event",
  "method": "liveness",
  "operator": "TenPrint",
  "paid": true,
  "result": "pass",
  "sealed": true,
  "settled": true,
  "subjectRef": "opaque",
  "success": true,
  "verifyUrl": "string",
  "vsr": {
    "hashProfile": "vsr/v0.4/sha3-256",
    "spec": "https://rubric-protocol.com/specs/vsr-v0.4.md",
    "vsrVersion": "0.4-draft"
  }
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402373 ms$0.005
6 h agoPassed402546 ms$0.005
10 h agoPassed402349 ms$0.005
14 h agoPassed402412 ms$0.005
17 h agoPassed402416 ms$0.005
21 h agoPassed402382 ms$0.005
24 h agoPassed402386 ms$0.005
28 h agoPassed402378 ms$0.005
33 h agoPassed402449 ms$0.005