Skip to main content
Version: v4

The calls your wallet makes

Everything a wallet needs is one indexer, public or self-hosted.

Q1: resolve the service​

curl -s -X POST https://idx.testnet.verana.network/v4/verifiable-trust/resolve -H 'content-type: application/json' \
-d '{"did":"did:webvh:…","ecsCredentials":true,"presentations":{"includeInvalid":true},"participations":{"states":["ACTIVE"]}}'

Read trusted, evaluatedAtTime, expiresAtTime; the Service and Organization or Persona claims from ecsCredentials[]; the other credentials from presentations[] with their invalid and unresolvable ids; the accreditations from participations[].

Q2 and Q3: the accreditation for the schema​

The credential's schema is known from the offer or request (the schema credential id for OpenID4VC type metadata or JSON-LD, the credential definition for AnonCreds, which names the schema credential). Check that the service holds an active accreditation of the right role for that schema:

curl -s 'https://idx.testnet.verana.network/v4/participant/list?did=<service did>&role=ISSUER&schema_id=<id>&participant_state=ACTIVE'

Or read participations[] from the resolve response, which answers Q2 and Q3 for every schema at once.

Caching​

Cache a verdict until its expiresAtTime, then resolve again. Show the evaluation time with a cached verdict. If a previously trusted service resolves untrusted on a later interaction, re-surface the Proof-of-Trust and require fresh acknowledgment.

Self-hosting​

A wallet vendor that wants to depend on nobody runs its own indexer against a node; the computation is deterministic. See Run the indexer.

TRQP​

The indexer also answers the ToIP Trust Registry Query Protocol. Wallets that already integrate trust registries through TRQP can use it for Q2 and Q3; the resolve endpoint remains richer for Q1.

Next​