# Quickstart

Get a key, point your client at the gateway, and stream a first token.


Mint a free anonymous trial key for a quick test, or sign in and create a console key for real work.

> Setting up a coding agent? `curl -fsSL https://boundless.md/install | sh` signs you in, creates a key, and configures Claude Code, Codex CLI, OpenCode and others in one step. See [Coding Agents & Harnesses](/docs/coding-agents-and-harnesses#set-up-with-one-command).

## Try it without an account

Any agent or script can mint a trial key with one unauthenticated call:

```bash
curl -X POST https://inference.boundless.network/api/agent-key
```

The **agent key** carries $0.01 of credit, expires after 24 hours, and is rate-limited for demos. It cannot be topped up or extended, so it will not carry a real workload. You can also mint one with `create_agent_key` on the [MCP server](/docs/coding-agents-and-harnesses). A `GET` on the same URL describes the offer without minting a key.

Then skip to [Make your first request](#2-make-your-first-request).

## 1. Get an API key

[Sign up or sign in](/sign-in). A new account is designed to be active the moment you sign up. Add a card on [Billing](/billing) to get $1 of free credits. Create an API key yourself on [the API keys page](/api-keys). You don't need a sales call. All your keys share one credit balance.

Customer keys are restricted to inference and model discovery. They cannot call account, key, team, billing, or gateway routes. The grant is published in the [OpenAPI spec](/openapi.json).

## 2. Make your first request

Paste your key, pick a snippet, and send it. You should see a streamed reply, then a `usage` object with exact token counts.

```bash [cURL]
curl https://api.inference.boundless.network/v1/chat/completions \
  -H "Authorization: Bearer $BOUNDLESS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [{
      "content": "Say hello",
      "role": "user"
    }]
  }'
```

```python [Python]
import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ["BOUNDLESS_API_KEY"],
  base_url="https://api.inference.boundless.network/v1",
)

response = client.chat.completions.create(
  model="glm-5.2",
  messages=[{
    "content": "Say hello",
    "role": "user"
  }],
)
```

```typescript [TypeScript]
import OpenAI from 'openai'

const openai = new OpenAI({
  apiKey: process.env.BOUNDLESS_API_KEY,
  baseURL: "https://api.inference.boundless.network/v1",
})

const response = await openai.chat.completions.create({
  model: "glm-5.2",
  messages: [{
    "content": "Say hello",
    "role": "user"
  }],
})
```

Pointing a coding agent or SDK instead? See [Coding Agents & Harnesses](/docs/coding-agents-and-harnesses).

## 3. Check your usage

Every response includes a `usage` object with exact token counts. Open [the usage page](/usage) to see per-request costs against your credit balance. If a number looks wrong, the receipt on that row is the source of truth. [Tell us](/support) if it does not match what your client logged.
