Skip to main content
Every Infra API endpoint (except token issuance itself) is protected by an OAuth 2.0 bearer token. You obtain a token by presenting your project API key to Auth-Edge using the client_credentials grant, then send the returned access_token on each subsequent request.

Getting an API key

Convexity Infra is a backend service with no self-service signup: API keys are issued by the Convexity team. Email infra@withconvexity.com with your business details to register. You’ll receive a test key to integrate against and a live key (sk_live_...) for production traffic.
Treat API keys like passwords: never embed them in client-side code or commit them to source control. If a key is exposed, email infra@withconvexity.com to request a rotation immediately.
1

Present your API key

Call POST /v1/oauth/token with grant_type=client_credentials and your API key.
2

Receive a short-lived token

Auth-Edge returns an access_token (a signed JWT) and its expires_in lifetime.
3

Authorize requests

Send Authorization: Bearer <access_token> on every API call until the token expires, then mint a new one.

Obtaining a token

POST /v1/oauth/token No Authorization header is required. Send your API key as client_secret in the JSON body:

Request body

Response: 200 OK

Token claimsThe JWT encodes your businessId, keyId, the environment (live / test), the granted scope, and an aud (audience). Downstream services read these claims to enforce project context and capabilities; you do not need to send them yourself.

Using the token

Send the access token in the Authorization header on every request:

Token errors

Token issuance returns standard OAuth 2.0 error bodies (RFC 6749 §5.2):
Live keys for productionBusiness endpoints reject test tokens with 403: Test tokens are not allowed, please use your live api key. Mint tokens from your sk_live_... key for production traffic.

Scopes & capabilities

Authorization is layered:
  • Scopes narrow what a token may do at a coarse level (for example indexer:read).
  • Capabilities are fine-grained permissions checked per endpoint. The Blockchain Events service, for example, gates each operation on a capability such as indexer.subscribe.evm or indexer.history.read. A token missing the required capability receives 403. Capabilities are granted by the product/plan attached to your project. See Products and Subscriptions.
Rate limiting on the token endpoint is 30 requests per minute per IP.