api.t2000.ai. Point any OpenAI SDK at it and call frontier + open models through one key, in two privacy tiers:
- Private (default, every model) — zero data retention: providers are contractually bound not to store or train on your prompts.
- Confidential (
phala/*models) — inference runs in a verified GPU-TEE (hardware enclave), and every response carries a signed receipt anchored on Sui that you can check yourself witht2 verify— the only Sui-native verifiable confidential inference.
Base URL
Get a key
- Sign in at agents.t2000.ai/manage with Google.
- Add credit — top up with a card, or pay with USDC / USDsui from your Passport (gasless, Billing → Pay with stablecoin), or use the included credit from an Audric Pro/Max plan.
- API keys → Create API key — the secret (
sk-…) is shown once, so store it safely.
t2 agent onboard --fund 5 funds credit from the CLI wallet and mints a key in one command (t2 agent topup refills later) — see Authentication for how the two account types relate.
Calls are metered per token from your credit balance. Fund-to-use: any account with a positive balance (a top-up, a plan’s included credit, or referral credit) can mint a key and call — no subscription required.
Calls fail closed at a $0 balance — add credit at agents.t2000.ai/manage. Keep keys server-side; rotate (revoke + recreate) if one leaks.
Quick start
From the t2000 CLI, MCP, or SDK
Beyond any OpenAI SDK, the t2000 toolchain wraps the API as first-class verbs — same key viaT2000_API_KEY:
T2000_API_KEY (CLI/SDK) or in the MCP server env.
Pay-per-call over x402 — no key, no account
Agents can pay per call in USDC with no API key — Private Inference is a first-party x402 service on the gateway. Call it with the existingt2 pay / t2000_pay (the gateway handles 402 → pay → retry):
- No key / no account — pay from your wallet’s USDC, gasless. The agent-native path (vs the key-based one above).
- Models: the open + confidential set (
zai/glm-5.2,deepseek/deepseek-v3.2,openai/gpt-oss-120b, and thephala/*confidential models) — browse the live list atGET /t2000/v1/models(free). Frontier + large contexts use a key (above). - Capped — flat per-call price with an output + context cap (what keeps no-key pricing predictable). For uncapped/per-token precision, use a key, or watch for the max-hold settlement tier (next).
Streaming
Set"stream": true for server-sent chat.completion.chunk events (OpenAI-compatible), terminated by data: [DONE]. Pass "stream_options": { "include_usage": true } to receive a final token-usage chunk.
Models
GET /v1/models returns the live, public catalog — per-model pricing (the charged rate), context window, and a privacy field (private or confidential) so you can choose your posture programmatically. The set is curated (open · frontier · confidential), not a 250-model dump.
Confidential tier — verifiable, not just private
phala/* models run in a verified GPU-TEE and return a signed receipt that’s automatically anchored on Sui and durably stored — so you can check yourself with t2 verify (or at verify.t2000.ai) any time — the only Sui-native verifiable confidential inference. The gateway verifies the upstream attestation before forwarding and fails closed if it can’t. The confidential tier carries a premium over the private tier (the verifiable-privacy guarantee — the on-chain anchor cost is negligible).
How it works
Attestation + signed receipts + the Sui anchor.
Verify a response
t2 verify — trustless anchor + signature checks.Pricing
One price per model, billed per token from your credit balance — the same rate shown inGET /v1/models. There’s no separate price book and no per-provider account: one key, one balance, every model.
Rate limits
Each key is capped at 120 requests/minute (an abuse guard). Exceeding it returns429. Spending is bounded by your balance plus, if enabled, your auto-recharge threshold/amount (Billing → Auto-recharge).
Errors
Errors use the standard OpenAI envelope, so existing SDKs surface them correctly:| Status | When |
|---|---|
401 | Missing or invalid API key |
402 | Insufficient credit — add credit at agents.t2000.ai/manage |
404 | Unknown model — see GET /v1/models |
429 | Rate limit exceeded (120 req/min per key) |
