PINT (header x-sumvin-pint-token), so the JWT you verify carries PINT-prefixed claims and the source mandate is identified by its pint_uri.
Prerequisites
- Your registered audience identifier (provided during partner onboarding)
- A JWT verification library with JWKS support
- (Optional) An SIS API key for revocation checks
Step-by-Step Verification
1. Extract the Token
Pull the Stamped Mandate’s JWT from thex-sumvin-pint-token header. The value is the raw JWT — there is no Bearer prefix to strip.
2. Fetch the JWKS and Verify the Signature
The SIS publishes its public keys at the endpoint. Use your JWT library’s built-in JWKS support to fetch and cache the keys. TypeScript (jose):- The JWT signature against the SIS public key
- The
issclaim is"https://sis.sumvin.com" - The
audclaim matches your registered identifier - The
expclaim hasn’t passed
3. Read the Claims
After verification, read the Sumvin-specific claims to understand what the user has authorised:4. Check Revocation (Recommended)
Even if the JWT hasn’t expired, the source Stamped Mandate may have been revoked. Call the revocation check endpoint to confirm it’s still valid:5. Check the Verification Tier
If the JWT’sverification_tier is "enhanced", you must also verify the Stamped Mandate’s EIP-712 signature. See Verifying PINT Signatures.