Trusted identity goes in. The expected discriminator must be eight bytes, encoded as 16 lowercase hexadecimal characters.
Decide from the verdict.
Only verified evidence passes the event checks. Your application still decides whether an action is authorized and whether it has already been processed.
TypeScript · Application policy
switch (result.verdict) {
case"verified":
// Your application checks authorization and replay// protection before performing any protected action.break;
case"rejected":
case"indeterminate":
return;
}
Missing evidence never passes. Rejected and indeterminate results must not trigger a protected action.
Example outcome
Verified VERIFIED
The expected event matches.
Finality, execution, program attribution, and event identity passed. Apply your application's authorization and business rules.
Rejected TX_FAILED
The transaction emitted an event, then failed.
The log does not authorize an action. Stop and record the rejection reason.
Indeterminate RPC_UNAVAILABLE
The RPC cannot supply reliable evidence.
Do not act on this result. Retry or escalate according to the reason code and your application's policy.
Know what the result means.
Three boundaries to keep explicit in your integration.
Verified means the requested identity passed. Rejected means available evidence disproved it. Indeterminate means the evidence was not strong enough.
"verified" | "rejected" | "indeterminate"
Treat indeterminate as a stop, not as a tentative success.
A deterministic receipt ID is issued only when the verifier has a complete identity and immutable event evidence. Share it without exposing account data.
/receipts/es_<sha256>
Public receipt evidence and private saved history are separate.
Browser requests use the same-origin API. The server attaches the internal credential before calling protected verification functions.
browser → /api/verify → protected function
The internal credential stays on the server. It never enters browser code.
Verify the evidence. Keep your own trust boundary.
Keep the evidence close at hand.
Use the verifier, then apply your own authorization and business rules.