# Quickstart
Graphene is an OpenAI-compatible API in front of every frontier model, billed per token at 20% under each provider's list price. Migrating is a one-line change.
## 1. Create an API key
Sign up, create a workspace, and generate a key under **API keys**. Keys are scoped to a workspace and inherit its routing policy and budget.
## 2. Change your base URL
```python
from openai import OpenAI
client = OpenAI(
base_url="https://api.graphene.ai/v1", # was api.openai.com/v1
api_key=os.environ["GRAPHENE_API_KEY"],
)
resp = client.chat.completions.create(
model="claude-opus-4-8",
messages=[{"role": "user", "content": "Hello, Graphene"}],
)
```
That is the whole migration. Your existing SDKs, retries and streaming code keep working. Switching away is the same one-line change — portability is the default.
## 3. Watch the routed rate
Every request shows the model, token counts and the routed per-token rate in **Usage**. The rate is a flat 20% under the provider's list price.
## Next steps
- **[Models](/docs/models)** — the catalogue behind one API
- **[Routing and budgets](/docs/routing-and-budgets)** — policy controls per workspace
- **[Billing FAQ](/docs/billing-faq)** — how per-token billing works
- **[Sovereignty](/docs/sovereignty)** — in-region routing for regulated workloads
- **[Agent-native access](/docs/agent-native-access)** — machine-readable pricing and x402 preview
- **[API reference](/docs/api-reference)** — endpoints, scopes, errors and rate limits
- **[Building agents](/docs/building-agents)** — framework wiring, cost control and failure handling
- **[Enterprise and sovereign access](/docs/enterprise-access)** — capabilities behind an agreement