Skip to article
Browse documentation +
TRUST / ELPIS

Verifiability

Why completion is a function of verifiable facts, and how the release condition is built rather than trusted.

Verification by construction

Trust in an autonomous system should be a property of how it is built, not of how confident it sounds. Elpis makes the release condition a fact about the world, so the guarantee survives swapping the model underneath it.

PropertyHow it is guaranteed
A payment happenedThe chain is re-read independently after execution.
A job’s work is doneA deliverable hash is compared to the agreed commitment.
A person decidedAn approval record with the control that asked for it.
Nothing is assumedA null or unverifiable result is pending, never success.

No field for an opinion

The completion evidence passed to the decision function has no place to put a model’s confidence. What it contains instead:

EvidenceRule
Deliverable vs the commitmentA mismatch is a reject, not a debate.
Treasury controlsA failed control is never authorised past.
Required counter-signatureMissing → hold. Nothing moves.
Human decision above a thresholdA person’s “no” is a reject; their absence is a hold.
The deadlinePast it → reject, and the refund path belongs to the client.
This is why the guarantee is durable: the interface cannot express “the model was confident”, so no future change can make that the release condition by accident.

Three outcomes

decision
complete  release the escrow — the commitment was met
reject    refund the client — it was not
hold      not yet — nothing moves

A hold is not a failure. It is the system saying “not yet”, and it sends no transaction, which is precisely why defaulting to it is safe. The full primitive — commit, verify, settle, replay — is in Settle on proof; the exact hashing is in Canonicalization.

The ERC-8183 evaluator

Elpis takes the evaluator seat in ERC-8183 and makes that decision deterministic, in contrast to a model’s self-reported confidence deciding whether money moves. The mapping, the endpoint and the evidence shape are in Payments standards. An attestation reason accompanies every on-chain release, so the decision is reproducible.

What on-chain verification cannot do

It confirms execution, not intent: a transfer happened with a given amount and status. It cannot tell you the payee was the right one. That is a document-side failure, answered by the document anchor and recipient change control. See Security for the limits, stated plainly.