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
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Passed | 402 | 373 ms | $0.005 |
| 6 h ago | Passed | 402 | 546 ms | $0.005 |
| 10 h ago | Passed | 402 | 349 ms | $0.005 |
| 14 h ago | Passed | 402 | 412 ms | $0.005 |
| 17 h ago | Passed | 402 | 416 ms | $0.005 |
| 21 h ago | Passed | 402 | 382 ms | $0.005 |
| 24 h ago | Passed | 402 | 386 ms | $0.005 |
| 28 h ago | Passed | 402 | 378 ms | $0.005 |
| 33 h ago | Passed | 402 | 449 ms | $0.005 |