Skip to main content

Installation

Published release: grantex==0.5.0. PyPI metadata, distribution contents, and a clean public-index install were verified before this page was updated.
The unpinned python -m pip install grantex command follows PyPI’s current release. Keep the exact version above in reproducible builds. See Release Status before upgrading.

Requirements

  • Python 3.9 or higher
  • httpx (sync HTTP client)
  • PyJWT >= 2.8 with cryptography (for offline token verification)
All dependencies are installed automatically with the SDK.
Version 0.5.0 adds EVM payment responses and authenticated principal/agent reservation reconciliation for Base USDC custody. It retains bounded refresh lost-response recovery from 0.4.1 and the layered policy, exact approval, reload, and ES256 DPoP wallet clients from 0.4.0. It does not add an automatic x402 HTTP payment-and-retry wrapper; applications must implement their merchant HTTP flow. See Agent Wallet Governance.

Quick Start

Configuration

The Grantex client accepts three keyword-only arguments:

API Key Resolution

The client resolves the API key in this order:
  1. The api_key keyword argument passed to the constructor.
  2. The GRANTEX_API_KEY environment variable.
If neither is set, a ValueError is raised.

Context Manager

The Grantex client implements the context manager protocol. Using with ensures the underlying HTTP connection pool is properly closed when you are done:
This is equivalent to calling client.close() manually:

Resource Clients

The Grantex client exposes the following resource clients as attributes:

Standalone Functions

In addition to the client, the SDK exports standalone utility functions:

Data Model Conventions

All response types are frozen dataclasses with snake_case field names. Lists are returned as Python tuple objects for immutability.

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 7, 2026