Documentation

Documentation

An OpenAI-compatible endpoint. Point your client at it and change the model id.

Quickstart

Base URL https://api.example.invalid/v1

Model id qwen3.8-27b

API key Keys start with gc_live_ and are shown once, when you create them in the portal.

curl

curl https://api.example.invalid/v1/chat/completions \
  -H "Authorization: Bearer $GPUCLUB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen3.8-27b","messages":[{"role":"user","content":"Hello"}]}'

Node (openai)

import OpenAI from 'openai';
const client = new OpenAI({ baseURL: 'https://api.example.invalid/v1', apiKey: process.env.GPUCLUB_API_KEY });
const res = await client.chat.completions.create({
  model: 'qwen3.8-27b',
  messages: [{ role: 'user', content: 'Hello' }],
});
console.log(res.choices[0].message.content);

Python (openai)

from openai import OpenAI
client = OpenAI(base_url="https://api.example.invalid/v1", api_key=os.environ["GPUCLUB_API_KEY"])
res = client.chat.completions.create(
    model="qwen3.8-27b",
    messages=[{"role": "user", "content": "Hello"}],
)
print(res.choices[0].message.content)

Streaming works the same way: set stream to true.

Priority, not limits

Within your budget your requests go first. Past it, they still run whenever the card has spare capacity, at full speed when nobody else is using it.

Every response carries X-GPUClub-* headers with your period usage, your budget and your current priority state.

Read the long version →

Error codes

StatusCodeMeaning
401invalid_api_keyThe key is unknown or revoked.
401subscription_past_dueThe subscription behind the key has an unpaid invoice.
429rate_limit_exceededToo many requests in a minute for this plan.
503club_unavailableThe club’s GPU is being started or replaced, or no host is available under its price ceiling. Retry after the Retry-After header.

Always on

Your club’s GPU runs around the clock. If a host fails or is replaced, requests get 503 club_unavailable with a Retry-After header until the new machine is healthy; we publish uptime and restart counts on every club page.