Skip to main content

Overview

Grantex tokens are standard JWTs (RS256 by default, or ES256) extended with agent-specific claims. Any service can verify them locally using the published JWKS, without a per-token call to the Grantex verification API. Verifiers still need the public keys, fetched from the issuer and cached according to their SDK’s behavior.

Decoded Example

Grant tokens are RFC 9068 JWT access tokens (typ: at+jwt). A stock OAuth or JOSE library validates them with standard semantics; the full profile is spec/grant-token-0.6.md.

Standard Claims

Grantex Grant Claim

urn:grantex:grant carries the grant record under a collision-resistant name:

Legacy Claim Aliases

agt, dev, grnt, scp, parentAgt, parentGrnt, delegationDepth and bdg are the pre-0.6 names. They are still issued, with the same values, while the auth service’s GRANT_TOKEN_LEGACY_CLAIMS is on — the default in 0.6; it defaults off in 0.7. The SDK verifiers read the standard claim first, fall back to an alias with a deprecation warning, and reject a token whose claim and alias disagree. See docs/migration-0.6.md. The hosted service publishes keys at https://api.grantex.dev/.well-known/jwks.json, but its canonical iss value is https://grantex.dev. Current SDKs recognize that stable JWKS alias automatically. Custom verifiers must validate the canonical issuer explicitly.

Delegation Claims

Present on tokens issued to sub-agents via grants.delegate(): The legacy aliases parentAgt, parentGrnt and delegationDepth carry the same values while legacy claims are issued.

Verification

Grant tokens can be verified two ways: Verify the RS256 or ES256 signature locally using the published JWKS. This avoids the online token-verification API, although the verifier may still need to retrieve the current public keys from the JWKS endpoint.

Online

Call the Grantex API for real-time revocation status:

Security

  • Algorithm allowlist: every verification layer (auth service, TypeScript, Python and Go SDKs) accepts only RS256 and ES256, and only with a key of the matching type named by kid. The alg header cannot select another algorithm or another key.
  • Replay prevention: Every token’s jti is tracked. Presenting a previously-seen jti returns valid: false.
  • Minimum key size: The auth service enforces a minimum 2048-bit RSA modulus on RSA signing keys; EC keys must be on P-256.

Ownership

Grantex is owned by Orchestrum Technologies LLP. Inventor and owner: Sanjeev Kumar. Ownership contact: sanjeev@orchestrum.in or mishra.sanjeev@gmail.com.
Last modified on September 15, 2026