Paybond Kit talks to the Gateway — Paybond's public HTTPS API front door. Most hosted integrations do not need to configure a URL; the SDK defaults to the production Gateway origin.
Hosted endpoints
| Surface | URL | Use for |
|---|---|---|
| Gateway API | https://api.paybond.ai | Kit sessions, Harbor and Signal proxy routes, protocol verification, guardrails, and direct HTTP integrations |
| Console | https://console.paybond.ai | Operator UI, API key management, billing, and sandbox device-login approval |
Route paths carry their own version segment. Examples:
GET https://api.paybond.ai/v1/auth/principal— resolve tenant scope from a service-account API keyGET https://api.paybond.ai/.well-known/agent-card.json— A2A discovery- Harbor proxy routes under
https://api.paybond.ai/harbor/...
Use https://api.paybond.ai as the Gateway base URL. Do not append /v1 to the base; individual routes include /v1, /harbor, /protocol, or other prefixes as documented in the Gateway API reference.
SDK defaults
TypeScript and Python Kit packages default to https://api.paybond.ai:
import { Paybond } from "@paybond/kit";
const paybond = await Paybond.open({
apiKey: process.env.PAYBOND_API_KEY!,
});
from paybond_kit import Paybond
paybond = await Paybond.open(api_key=os.environ["PAYBOND_API_KEY"])
Hosted SaaS integrations only need PAYBOND_API_KEY (or apiKey / api_key in code). The SDK resolves tenant scope at GET /v1/auth/principal and routes Harbor, Signal, fraud, protocol, and A2A calls through the same Gateway origin.
Overrides for staging or self-hosted deployments
Override the Gateway origin only when you are not calling the hosted SaaS stack:
| Mechanism | When to use |
|---|---|
gatewayBaseUrl / gateway_base_url | Explicit Paybond.open(...) option in TypeScript or Python |
PAYBOND_GATEWAY_URL | Process env read by scaffold helpers (openPaybondFromEnv, open_paybond_from_env) and the MCP server |
PAYBOND_GATEWAY_BASE_URL | Alternate env name accepted by the same helpers when PAYBOND_GATEWAY_URL is unset |
TypeScript (Paybond.open):
const paybond = await Paybond.open({
apiKey: process.env.PAYBOND_API_KEY!,
gatewayBaseUrl: process.env.PAYBOND_GATEWAY_URL,
});
TypeScript scaffold helper (reads env automatically):
import { openPaybondFromEnv } from "@paybond/kit/init";
const paybond = await openPaybondFromEnv();
Python (Paybond.open):
paybond = await Paybond.open(
api_key=os.environ["PAYBOND_API_KEY"],
gateway_base_url=os.environ.get("PAYBOND_GATEWAY_URL", "https://api.paybond.ai"),
)
Python scaffold helper (reads env automatically):
from paybond_kit.init import open_paybond_from_env
paybond = await open_paybond_from_env()
PAYBOND_GATEWAY_URL wins over PAYBOND_GATEWAY_BASE_URL in scaffold and MCP helpers when both are set.
Never pass tenant IDs from unauthenticated user input to select a Gateway host. Tenant scope always comes from the authenticated credential, not from a caller-chosen base URL.
Not a model-provider proxy
Paybond is not a drop-in LLM inference proxy for OpenAI, Anthropic (Claude), Google (Gemini), or any other model host. Do not point a provider client's base endpoint — baseURL, API host, or equivalent — at https://api.paybond.ai (or https://api.paybond.ai/v1) and expect chat, completions, responses, or embedding traffic to work.
| Layer | Credential | Endpoint |
|---|---|---|
| Model inference | Your provider API key | Provider default, e.g. https://api.openai.com/v1, Anthropic, or Gemini |
| Spend governance | Paybond service-account API key (paybond_sk_…) | Gateway at https://api.paybond.ai via @paybond/kit / paybond-kit |
Integrate Paybond at the tool and spend boundary: create or bootstrap an intent, verify the capability before a paid or side-effecting tool runs, then submit evidence. The model client stays on the provider; Paybond governs delegated spend around your tools across OpenAI, Gemini, Claude/Anthropic, Vercel AI SDK, LangGraph, MCP hosts, and custom orchestrators.
See Agent integrations for runtime examples, including OpenAI Agents SDK.
Direct HTTP callers
When calling Gateway without the Kit:
- Send
Authorization: Bearer <service-account-api-key>or a session JWT as documented in Authentication & tenant binding. - Prefix requests with the Gateway origin:
https://api.paybond.ai. - Attach
x-tenant-idonly where a route requires it, and only with the tenant realm echoed byGET /v1/auth/principalfor your credential.
Harbor and Signal are not browser-facing origins in the hosted stack. Gateway proxies tenant-scoped Harbor and Signal work; SDK callers do not configure separate Harbor URLs.