Skip to main content
When you exchange a signed via the token service, the SIS returns a JWT (JSON Web Token) that third-party services can independently verify. This page documents the JWT’s claims and structure. A Stamped Mandate is delivered over the API as a PINT (header x-sumvin-pint-token); the JWT claims below — including pint_uri and pint_signature — reference that underlying PINT directly.

Claims

Standard JWT Claims

Sumvin-Specific Claims

Enhanced Tier Claims

When the verification tier is "enhanced" (triggered by sr:us:pint:spend:execute scope), the JWT includes an additional claim:

Signing Algorithm

SIS signs JWTs using ES256 (ECDSA with P-256 curve). The public keys for signature verification are published at the endpoint.

Key Design Points

Audience scoping. Each JWT is bound to a specific audience. A single Stamped Mandate can produce multiple JWTs with different aud values — one per service provider in a purchase flow. Verifiers must always check that aud matches their own registered identifier. Expiry mirrors the mandate. The JWT’s exp always equals the source PINT’s expiresAt. A JWT cannot outlive the Stamped Mandate it was issued for. Active revocation. Even if a JWT hasn’t expired, the source Stamped Mandate may have been revoked. Verifiers should call the revocation check endpoint to confirm the mandate is still valid. Per-JWT tracking. The jti claim uniquely identifies each issued JWT. When a Stamped Mandate is revoked, all JWTs issued against it are invalidated.

Verifying a JWT

If you are a merchant or service provider receiving this JWT, see the Verifier Guide for step-by-step verification instructions.