Skip to main content
The Sumvin verification model is progressive — it comes in two tiers, Standard and Enhanced. As a verifier, your tier determines the level of identity assurance you receive about a user and the depth of verification you must perform. The tier is set by the scopes a user grants on their (PINT) during token exchange, and communicated to you via the verification_tier claim in the . A Stamped Mandate is delivered over the API as a PINT (header x-sumvin-pint-token). The wire vocabulary below — headers, claims, scope URIs — is identical whether you read it as a Stamped Mandate or its underlying PINT. Standard verifiers receive a JWT attesting to the user’s identity and KYC status. Enhanced verifiers additionally receive the user’s original cryptographic authorisation, giving you independent proof of intent beyond the SIS attestation.

Tier 1: Standard (JWT Only)

As a Standard-tier verifier, you receive a single PINT JWT in the x-sumvin-pint-token header containing the user’s identity attestation. This covers most scenarios where you need to verify who the user is and their KYC status. The JWT’s verification_tier claim is "standard". Typical integrations: Identity verification, KYC status checks, age-gated access, personalisation data.

What You Receive

A single header:

Example Request

Decoded JWT

Standard-tier JWTs do not contain a pint_signature claim. If verification_tier is "standard", you only need to verify the JWT itself.

Verification Steps

TypeScript (jose):
Python (PyJWT):
See Verifying a JWT for the complete implementation guide.

Tier 2: Enhanced (JWT + PINT Headers)

As an Enhanced-tier verifier, you receive the JWT plus the user’s original cryptographic signature over the Stamped Mandate (user- or agent-signed). This gives you independent proof of the user’s authorisation — you can verify the signed intent directly without relying solely on the SIS attestation. The JWT’s verification_tier claim is "enhanced" and includes a pint_signature claim. Typical integrations: Payment processing, spend authorisation, any action involving value transfer on behalf of the user.

What You Receive

Three headers:

Example Request

Decoded JWT

Decoded X-Pint-Payload

chainId is an EIP-712 domain parameter, not part of the signed PurchaseIntent message. It is included in the payload for convenience so you can reconstruct the full EIP-712 domain when verifying the signature. The current default is 1329 (Sei).

Verification Steps

Enhanced verification includes all Standard steps plus cryptographic verification of the PINT signature. TypeScript (jose + viem):
Python (PyJWT + eth_account):
The examples above only implement ECDSA recovery for user-signed PINTs (signer_type: "user"). Agent-signed PINTs (signer_type: "agent") use smart contract wallets and require EIP-1271 isValidSignature on-chain verification instead. See Verifying PINT Signatures for the complete EIP-1271 flow.
See Verifying PINT Signatures for additional detail on EIP-712 reconstruction and agent-signed PINTs.

How the Tier Is Determined

Scope-to-Tier Mapping

Scopes are SRI-format capability strings. Enhanced tier is reserved for the spend scopes that move value; every other scope in the catalog is Standard. If any scope in the PINT maps to Enhanced, the entire JWT is issued at Enhanced tier.
Do not hard-code a scope-to-tier map on the verifier side. Read the verification_tier claim on the JWT — new scopes are added to the catalog over time, and a stale local map can under-verify a value-moving mandate.

What This Means for You

The tier is determined server-side during token exchange — you don’t compute it yourself. As a verifier you receive the tier as the verification_tier claim in the JWT, which tells you what level of verification to perform:
  • "standard" — verify the JWT only
  • "enhanced" — verify the JWT and the PINT signature headers
If a Stamped Mandate requests scopes that the signer isn’t authorised for, the token exchange is rejected before any JWT is issued. You will only ever receive JWTs for authorised scope combinations.
The scopes available to you depend on your partner agreement. Contact your account manager to discuss scope access.

Choosing Your Implementation

Which Tier Applies to You

If you process payments or authorise spending on behalf of users, you must implement Enhanced tier verification. Standard-tier JWT verification alone is not sufficient for spend authorisation.

Implementation Guides

  1. Verify a JWT — Standard tier. Validate JWT signature, audience, and expiry against the SIS JWKS endpoint.
  2. Verify PINT signatures — Enhanced tier. Verify the original EIP-712 PINT signature for independent cryptographic proof.