Nexus

Claude models through a single API key.

Nexus routes your requests to Claude and meters every token 1:1 — one token used, one token deducted. No multipliers, no subscriptions. Works with Cursor, Claude Code, the Anthropic SDK, and plain HTTP.

Base URL
/v1
Endpoints
/v1/messages · /v1/chat/completions
Billing
1 token = 1 token, one-time payment

Plans

One-time token pools. Pools never expire · Real 1:1 official metering · All 7 Claude models included

Tester
50M tokens
€7.99 one-time
€0.16 per 1M tokens
  • Quick tests & script runner
  • Instant key provisioning
  • Cursor & Claude Code compatible
Get started
Starter
200M tokens
€19.99 one-time
€0.10 per 1M · Save 38%
  • 4x more capacity than Tester
  • Light daily development & debugging
  • Outlasts Claude web daily message limits
Get started
Best Value
Team
1B tokens
€69.99 one-time
€0.07 per 1M · Lowest rate
  • Massive 1,000,000,000 token reserve
  • No 5-hour rate limits or lockouts
  • 2x more capacity than Developer
Get started

Models

Every plan includes the same models. Request them by ID on /v1/messages or /v1/chat/completions, or list them live with GET /v1/models.

Loading model catalog…

Your usage

Sign in with your API key to see your balance and per-model consumption.

Client Dashboard

Enter your API key to check token balance and per-model consumption.

Connect

Use your virtual key as a drop-in endpoint for Claude Code, Cursor, Python, and OpenAI-compatible tools.

  1. In Z.AI Settings, open Model Providers → Add Custom Provider.
  2. Set Provider Protocol to Anthropic Messages.
  3. Set Base URL to https://stimhook.com/v1 and API Key to sk-nx-YOUR_KEY.
  4. Set Model to claude-opus-5-thinking and enable Streaming.
provider-config.json
{
  "provider": "custom_anthropic",
  "base_url": "https://stimhook.com/v1",
  "api_key": "sk-nx-YOUR_KEY",
  "default_model": "claude-opus-5-thinking",
  "stream": true
}
  1. Open Cursor Settings (Ctrl + , or Cmd + ,) → Models.
  2. Under OpenAI API Key, enter: sk-nx-YOUR_KEY.
  3. Enable Override OpenAI Base URL and enter: https://stimhook.com/v1.
  4. Click + Add Model and enter claude-opus-5-thinking (or claude-opus-5.5 / claude-opus-5).
Test Request
POST https://stimhook.com/v1/chat/completions
Authorization: Bearer sk-nx-YOUR_KEY
Content-Type: application/json

{
  "model": "claude-opus-5-thinking",
  "messages": [{"role": "user", "content": "Refactor this function"}],
  "stream": true
}
  1. Export the standard Anthropic environment variables in your terminal.
  2. Run claude. Preflight token calculations (/v1/messages/count_tokens) are free and unbilled.
PowerShell (Windows)
$env:ANTHROPIC_BASE_URL = "https://stimhook.com/v1"
$env:ANTHROPIC_API_KEY  = "sk-nx-YOUR_KEY"
claude --model claude-opus-5-thinking
Bash / Zsh (Linux & macOS)
export ANTHROPIC_BASE_URL="https://stimhook.com/v1"
export ANTHROPIC_API_KEY="sk-nx-YOUR_KEY"
claude --model claude-opus-5-thinking
  1. Install the official library: pip install anthropic.
  2. Pass your Base URL and Virtual Key into Anthropic().
Python
from anthropic import Anthropic

client = Anthropic(
    base_url="https://stimhook.com/v1",
    api_key="sk-nx-YOUR_KEY",
)

with client.messages.stream(
    model="claude-opus-5-thinking",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Write an efficient sorting function in Python."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

print()

Standard fetch request without third-party dependencies (Node 18+, Bun, Deno, Edge).

Node.js
const res = await fetch("https://stimhook.com/v1/messages", {
  method: "POST",
  headers: {
    "x-api-key": "sk-nx-YOUR_KEY",
    "anthropic-version": "2023-06-01",
    "content-type": "application/json"
  },
  body: JSON.stringify({
    model: "claude-opus-5-thinking",
    max_tokens: 1024,
    messages: [{ role: "user", content: "Review this pull request" }]
  })
});

const data = await res.json();
console.log(data.content[0].text);
cURL
curl https://stimhook.com/v1/messages \
  -H "x-api-key: sk-nx-YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5-thinking",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello Nexus"}]
  }'

Compatible with the official OpenAI SDK, LangChain, and LiteLLM.

OpenAI SDK (Python)
from openai import OpenAI

client = OpenAI(
    base_url="https://stimhook.com/v1",
    api_key="sk-nx-YOUR_KEY",
)

response = client.chat.completions.create(
    model="claude-opus-5-thinking",
    messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)

Failed requests (4xx / 5xx) are never billed. Only completed generations consume quota 1:1.

Status Type Description Behavior / Resolution
429 rate_limit_error Token budget held by parallel requests or per-minute rate limit. Gateway retries up to 2 times automatically with backoff. If returned, wait 2–5s. 0 tokens billed.
503 overloaded_error Model queue temporarily busy. Gateway retries automatically. Safe to retry immediately. 0 tokens billed.
401 authentication_error Missing or invalid API key. Ensure header x-api-key or Authorization: Bearer contains your active key.
403 permission_error Token quota exhausted or key deactivated. Check your balance in the portal above or request a plan top-up.
400 invalid_request_error Malformed JSON or missing required fields. Verify JSON payload and required parameters (e.g. messages).

API Endpoints

POST /v1/messagesAnthropic Messages API — Recommended, full SSE streaming & thinking mode
POST /v1/chat/completionsOpenAI-compatible endpoint for Cursor, Windsurf, LangChain & OpenAI SDKs
GET /v1/modelsActive model catalog available on your key
POST /v1/messages/count_tokensFree unbilled token pre-flight counter for CLI tools
GET /v1/usageLive quota and per-model consumption telemetry
GET /healthGateway health check and operational status
All Systems Operational

System Status & Uptime

Real-time telemetry of the Nexus API gateway, Claude upstream routing, and global response latency.

Current status
Up
Currently up for 0s
Last check
Live
Checked every 30 seconds
Last 24 hours 99.98%
0 incidents, 0m down
Response time for All regions
Telemetry live Rolling 1h
131ms 70ms 35ms 0ms
Oct 04, 19:40 Oct 04, 20:10 Oct 04, 20:40
55 ms
Average
36 ms
Minimum
81 ms
Maximum