basis.
This is the dispute-loop surface. When a merchant disputes a credit-risk verdict, when a service provider cross-attests inventory custody, when a business buyer attests a merchant’s reliability — those are all Schema D rows. The reconciler closes the loop by mirroring current registry status onto every ACTIVE Schema D attestation every 6 hours, so verifiers can decide whether to honor an attestation issued by a party whose standing has since changed.
Network & UIDs
EAS registry version: v1.4.0.
Field reference
ABI schema string:
EAS envelope fields:
Registry-status mirror (attestorCurrentStatus)
The reconciler sweeps every 6 hours and mirrors the current issuer registry status onto every ACTIVE Schema D row. This is how Schema D closes the dispute loop:
service-provider issuers, this mirrors ServiceProviderRegistry. For other issuer types (merchant, lender, business-buyer), this remains null until those registry lookups are wired into the reconciler.
The reconciler never auto-revokes. A Schema D attestation issued by a service provider that has since been SUSPENDED (e.g., contract terminated, custody dispute) is still on-chain ACTIVE — the chain has no opinion. Verifier policy decides whether to honor it. The MCP get_trust_dossier tool exposes the mirror in its envelope.
How Schema D closes the loop on disputes
The 4-axis trust fabric is open on the inputs (lenders write B + C, operators write A) but the resolution loop is also open: a disputing party writes a Schema D attestation referencing the disputed record. Two patterns are observed in production:- Counter-attestation — a merchant disputes a Schema B verdict by minting a Schema D row with
subjectRootUid = "lender:<lenderId>",trustScorelow, andbasisciting the disputed UID. Subsequent verifiers see both records and apply their own policy. - Service-provider attestation — a WMS partner (e.g., Stor’d) cross-attests inventory custody. This is independent evidence feeding back into the lender’s Schema B re-underwrite at next term. The
service-providerissuer class is registered inServiceProviderRegistry; the partner’s signing wallet must beACTIVEfor the attestation to be honored.
Read via Droplinked API
By subject — “what has anyone said about this entity”:Read via viem (TypeScript)
Read via ethers (TypeScript)
Read via Cast (Foundry)
Indexer access (EAS GraphQL)
- Base mainnet: https://base.easscan.org/graphql
- Base Sepolia: https://base-sepolia.easscan.org/graphql
GET /v2/attestations/cross/subject/:rootUid). EAS GraphQL has no native index on the encoded subjectRootUid string.
Trust assumptions
A Schema D attestation is authoritative if and only if:- The on-chain
schemamatches the mainnet UID above. - The on-chain
attesterwallet maps to a currentlyACTIVEregistered entity. Forservice-providerissuers, checkServiceProviderRegistry(Droplinked-side admin lookup) — the verifier API exposes the mirror viaattestorCurrentStatus. revocationTime == 0.- The semantic interpretation of
trustScoreis the consumer’s responsibility — Droplinked does not canonicalize a comparable scale acrossissuerEntityTypeclasses. Always readbasisandissuerEntityTypetogether with the score.
Related
- Trust Fabric overview
- Schemas overview
- Schema B — Credit-risk attestation (the most-disputed surface)
- Schema C — Repayment-history attestation
get_trust_dossierMCP tool — multi-axis composite read