Product

Verify

Most systems let you ask what the chain says. Verify lets you ask what that answer is worth — and to refuse one that is worth less than your decision requires.

Set a floor, not a preference

Every request may carry a trust floor. If nothing can meet it, you get NO_SAFE_ROUTE and no answer — not a weaker answer with a note attached.

That is the difference between a system that reports confidence and one that acts on it. A floor you can silently fall below is a preference.

Floors are requestable at four levels: UNVERIFIED_RAW, ATTESTED_EXTERNAL, PROTOCOL_VERIFIED and PROOF_VERIFIED.

Trust
UNESTABLISHED

Nobody has established how strongly this is known. Not the same as being weakly known.

 
UNVERIFIED_RAW

A provider said so and XRPC did not check it.

 
ATTESTED_EXTERNAL

Somebody outside XRPC vouched for it. XRPC is relying on them, not on the chain.

 
PROTOCOL_VERIFIED

The chain's own rules were applied to material XRPC holds, and they held.

 
PROOF_VERIFIED

XRPC checked a cryptographic proof itself and it held. The strongest thing here.

The vocabulary is part of the API

The meaning of every value is served as data, not described in documentation that can drift from the code. One unauthenticated-shaped read gives you the whole model, including the sentence that says the dimensions are never combined.

Coverage is explicitly independent of trust. Evidence carries the note that agreement between sources means nothing until independence is established — which this build does not do, and does not claim to.

The trust model in full →

GET /v1/verify/vocabulary200
"no_single_verdict":
  "there is no `verified` field and no
  score. The five dimensions above are
  not combined anywhere, because the
  useful answers are mixtures of them
  and a single number cannot say which",

"requestable_floors": [
  "UNVERIFIED_RAW",
  "ATTESTED_EXTERNAL",
  "PROTOCOL_VERIFIED",
  "PROOF_VERIFIED"
]

What answers today

SurfaceStateDetail
GET /v1/verify/vocabulary Answers The five dimensions, their values, the requestable floors and the outcome codes.
GET /v1/verify/networks/{network} Answers The best trust currently available per subject kind on that network. Where nothing is established it returns null rather than a default.
POST /v1/verify Gated The route is live and validates your request, but transaction.verify is not in this deployment's live evidence, so a well-formed call is refused rather than answered weakly.
Verification of a specific transaction is not available in Free Beta. The model, the vocabulary and the refusal behaviour are live and are what you would integrate against. The subject-verification path needs evidence this deployment does not hold, and it is gated rather than approximated.