Scenario
A consumer agent is about to extend BNPL terms based on a merchant’s credit-risk attestation. The agent wants to verify, end-to-end:- The attestation exists on-chain at the cited UID
- The lender that issued it is real, ACTIVE, and licensed
- The methodology the lender cited is the one they actually published
- The merchant’s repayment history matches the tier on the attestation
Step 1: read the attestation
attestationUid— the on-chain UIDlenderId— who issued itissuerWallet— the wallet that signedmethodologyHash— the underwriting basis citedlenderCurrentStatus— the registry-state mirror (updated every 6h by the reconciler)
Watch the mirror:
status: ACTIVE means the attestation is on-chain valid. lenderCurrentStatus: SUSPENDED would mean the lender has been de-listed in the registry since mint. Verifier-side policy decides whether to honor an attestation from a since-de-listed lender.Step 2: verify the lender
lender.signingWallet must equal attestation.issuerWallet. A mismatch indicates schema impersonation — someone signed an attestation pretending to be CredibleX. The agent must refuse in that case.
Step 3: verify the methodology
- Download
methodology.documentUrl - Compute SHA-256 of the document bytes
- Compare against
methodology.methodologyHash
methodology.status is SUPERSEDED, the attestation cites a methodology version the lender has since updated. That’s acceptable — old attestations stay tied to their original methodology — but the verifier should note it.
If methodology.status is REVOKED, the operator has pulled this methodology. The attestation should be considered invalid pending re-issuance.
Step 4: verify the repayment-history rollup
signals.summary.anchorTier=max(observed-from-repayment, already-issued)— load-bearing risk signalsignals.summary.reliabilityScore— overall on-time fraction- If the verifier needs to know whether the attestation’s
creditTieris currently justified by the repayment history, compare withsignals.upgradeEligibility.observedTier
Step 5: independent on-chain verification
The agent can quoteattestationUid + chain back to the end-user with a link to:
Decision tree
| Check | If pass | If fail |
|---|---|---|
Attestation found + status: ACTIVE | Proceed | Refuse |
lenderCurrentStatus: ACTIVE | Proceed | Verifier policy decides |
Lender found + signingWallet matches issuerWallet | Proceed | Refuse — schema impersonation |
| Methodology found + hash matches downloaded doc | Proceed | Refuse — methodology tampering |
| Repayment-history rollup consistent with attestation tier | Proceed | Verifier policy decides (could be a stale attestation) |
| On-chain UID resolves on easscan.org | Proceed | Refuse — UID fabricated |
End-to-end verifier walkthrough
The MCP tool chain above is the agent-runtime shortcut. A third-party verifier — a regulator, a counter-party PSP, an external auditor — can walk the exact same proof using the public HTTP read endpoints with no MCP client at all. Five steps, all public, no JWT, no IP-allowlist.1. Read the Schema B attestation
attestationUid, lenderId, methodologyHash, issuerWallet, occurredAt,
creditTier, status, and the registry-mirror fields (lenderCurrentStatus etc.). The
verifier pins occurredAt — every downstream check is evaluated as-of that timestamp,
not as-of now.
2. Resolve the issuing lender
lender.signingWallet === attestation.issuerWallet; a
mismatch is schema impersonation and the attestation must be refused.
3. Resolve the methodology
documentUrl + status + lifecycle timestamps
(effectiveAt, supersededAt).
4. Download + re-hash the methodology document
The verifier downloadsdocumentUrl, computes SHA-256 of the bytes, and compares against
the on-chain methodologyHash. The exact recipe (with a working curl + shasum
example) lives on the Methodology Registry Lookup
page — don’t re-implement it, link to it.
A divergence here is methodology tampering and the attestation must be refused regardless
of every other check passing.
5. Inspect the public lifecycle timeline
DRAFT → ACTIVE → SUPERSEDED → REVOKED transition history for a methodology, with
timestamps + the operator/event that drove each transition. A verifier composes the
transition history against the attestation’s occurredAt to make a time-honest policy
call:
- A methodology that’s currently
SUPERSEDEDbut wasACTIVEat attestationoccurredAtis still legitimate — the lender used the methodology that was in force at the time, and the attestation should be honored. - A methodology that’s
REVOKEDis a red flag regardless of when the attestation was issued. The operator has retroactively pulled this methodology; verifier-side policy decides whether to honor (most verifiers refuse).
The timeline endpoint replaces ad-hoc “look at the audit log” requests with a public,
verifier-callable surface. No SUPER_ADMIN access required.
Cross-links
- Trust Fabric overview — where each registry sits in the 4-axis fabric
- Methodology Registry Lookup — request/response shape + integrity-check recipe
- Lender Registry Lookup —
signingWalletcross-check field reference