Claims
Standard JWT Claims
| Claim | Description |
|---|---|
iss | Issuer. Always "https://sis.sumvin.com" |
sub | Subject. The user’s SRI |
aud | Audience. The registered identifier of the target third-party service. Verifiers must confirm this matches their own identifier |
jti | JWT ID. Unique identifier for this specific token. Used for per-JWT revocation tracking |
iat | Issued At. Unix timestamp of when the JWT was created |
exp | Expiration. Unix timestamp after which the JWT is invalid. Mirrors the source PINT’s expiresAt |
Sumvin-Specific Claims
| Claim | Description |
|---|---|
wallet | The user’s Safe Smart Account address |
kyc_status | User’s KYC verification status (e.g., "verified") |
scopes | Array of authorised scopes |
pint_uri | SRI of the source PINT |
signer_type | Who signed the PINT: "user" or "agent" |
verification_tier | "standard" or "enhanced" — determines how the verifier must validate the credential |
Enhanced Tier Claims
When the verification tier is"enhanced" (triggered by sr:us:pint:spend:execute scope), the JWT includes an additional claim:
| Claim | Description |
|---|---|
pint_signature | The original EIP-712 signature from the PINT. Signals that the verifier must also have received the PINT signature and payload as separate HTTP headers |
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 PINT can produce multiple JWTs with differentaud values — one per service provider in a purchase flow. Verifiers must always check that aud matches their own registered identifier.
Expiry mirrors the PINT. The JWT’s exp always equals the source PINT’s expiresAt. A JWT cannot outlive its source PINT.
Active revocation. Even if a JWT hasn’t expired, the source PINT may have been revoked. Verifiers should call the revocation check endpoint to confirm the PINT is still valid.
Per-JWT tracking. The jti claim uniquely identifies each issued JWT. When a PINT is revoked, all JWTs issued against it are invalidated.