ubc nowUnited States of America

Run Claude Agent SDK on ubc now.

The Claude Agent SDK, the OpenAI SDK, and the OpenAI Agents SDK all accept a custom base URL. Point the client at ubc now and build on your free daily share.

You need three things.

Everything below takes about five minutes if you already have a verified share.

A verified share

Pick your region and verify once with Self. There is no account to create.

A personal key

Mint one on the API keys page. It starts with ubc_sk_ and can be revoked at any time.

A model id

Any id from the models endpoint. Copy it exactly; ubc now does not alias other providers' names.

Supported in Claude Agent SDK.

Claude Agent SDK

Configure its OpenAI-compatible client with the ubc now base URL.

OpenAI SDK (JS and Python)

Set baseURL and apiKey, then call chat.completions as usual.

OpenAI Agents SDK

The same client configuration covers agent runs and tool calls.

Connect step by step.

Mint a key

Open the API keys page in your region and generate a key. Store it in an environment variable rather than in code, and keep an eye on the usage page while you test: agents spend tokens quickly.

Point the client at ubc now

Create the client with the base URL and your key.

OpenAI SDK, Claude Agent SDK, OpenAI Agents SDK
const client = new OpenAI({
baseURL: "https://api.ubcnow.ai/v1",
apiKey: process.env.UBC_API_KEY,
});

Pick a model

Set the agent's model to an id from the models endpoint, copied exactly.

List the models ubc now serves
curl https://api.ubcnow.ai/v1/models \
-H "Authorization: Bearer ubc_sk_..."

Confirm it works before you run a task.

Both commands send your key to the API. The first lists the models you can name; the second spends a few tokens from today's share.

List the models ubc now serves
curl https://api.ubcnow.ai/v1/models \
-H "Authorization: Bearer ubc_sk_..."
A chat completion against your daily budget
curl https://api.ubcnow.ai/v1/chat/completions \
-H "Authorization: Bearer ubc_sk_..." \
-H "Content-Type: application/json" \
-d '{
"model": "<model-id>",
"messages": [{"role": "user", "content": "Hello"}]
}'

When something fails.

Do I need an Anthropic key for the Claude Agent SDK?

No. Point the SDK's OpenAI-compatible client at ubc now with a ubc_sk_ key and requests are served from your daily share.

The agent stops with a 402

Agents make many calls, and a 402 means today's share is spent. It refills at 00:00 UTC. Quests can add credits that sit on top of the daily pool.

401 Unauthorized

Your key must be an active ubc now key (it starts with ubc_sk_). Mint or re-mint one at /api-keys, and make sure it is sent as a Bearer token, not pasted into a username field.

Model not found

Use an exact model id from https://api.ubcnow.ai/v1/models and copy it verbatim. ubc now does not alias OpenAI model names like "gpt-4o"; pick one of the models it actually serves.

Give your agent a free brain.

One key, one base URL, and it runs on your daily share.