sub, wallet, kyc_status, and scopes claims — proving your verifier is accepting live Sumvin credentials.
A Stamped Mandate is delivered over the API as a PINT (header x-sumvin-pint-token). This is the Standard Sigil verification tier — the JWT alone is enough; no signature recovery required.
Prerequisites
- A Stamped Mandate JWT (the
PINTfrom thex-sumvin-pint-tokenheader). Either grab one from a test partner, a sample incoming request, or the verification tiers reference for a sample token. - Your registered audience identifier (the value SIS puts in the JWT’s
audclaim — provided during partner onboarding). - A JWT library. This page uses jose for TypeScript and PyJWT for Python.
No SIS API key is required for JWT verification — the JWKS endpoint is public.
Fetch the SIS JWKS
The JWKS endpoint is public and holds the ES256 keys SIS uses to sign PINT JWTs. Keys rotate, so use a remote JWK set helper that caches and auto-refreshes rather than hardcoding the payload.Response:
200 OKVerify the JWT
Validate the signature, issuer, audience, expiry, and algorithm. Anything that fails throws — treat exceptions as verification failures and reject the request.
Inspect the decoded payload
This is the working artefact. If the Stamped Mandate’s JWT is valid, you print a decoded payload that looks like this:Claims you act on:
| Claim | Meaning | Reference |
|---|---|---|
sub | The user’s Sumvin Resource Identifier (SRI). Treat as the stable user ID. | SRI format |
wallet | The user’s primary EOA address. | Wallets guide |
kyc_status | verified, pending, or none. Gate KYC-sensitive features on this. | KYC guide |
scopes | The SRI capability strings this Stamped Mandate grants. Enforce what you permit against this list. | Scopes reference |
pint_uri | Stable identifier for the source Stamped Mandate — use this to check revocation. | Revocation checks |
verification_tier | standard here, enhanced when signatures are attached. | Verification tiers |
You have a verified Stamped Mandate. The user is who SIS says they are, the scopes in front of you are authorised, and you have their SRI and wallet ready to act on.
Next: check revocation (optional)
A signed JWT proves identity at issuance, but users can revoke a Stamped Mandate before the
exp time. For high-stakes actions, hit the SIS revocation endpoint with the pint_uri from the payload before you act. See revocation checks for the full flow.What’s next
| Next | Where | When |
|---|---|---|
| JWT deep dive | Verify a JWT | Full reference for signature, audience, and expiry validation |
| Tier picker | Verification tiers | When you need to decide Standard vs Enhanced |
| Revocation | Revocation checks | Before acting on high-stakes requests |
| JWKS detail | JWKS reference | Key rotation and caching guidance |