> ## Documentation Index
> Fetch the complete documentation index at: https://docs.velobase.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Projects

> Organize your gateway traffic and customer wallets with projects.

A **project** is the top-level isolation unit in Velobase. Each project has its own API keys, customers, and customer wallets. Data never leaks between projects.

A project is where your gateway traffic and billing live together. Point your OpenAI or Anthropic SDK at `https://api.velobase.io/v1` with a project key, and every model call is metered and billed to an end-customer wallet via the `X-Velobase-Customer: <user-id>` header. The same project also holds the billing ledger primitives (freeze, consume, deduct) for work you price yourself.

Use separate projects to keep different apps, environments, or clients fully isolated. For example, you might create `my-saas-prod` for production traffic and `my-saas-staging` for testing. Both live under the same organization, but their customers and wallets are completely independent.

## Creating a Project

When your organization has no projects yet, the dashboard shows an empty state with a prompt to create your first one.

Click **Create project**, give it a name, and you are ready to go. Project names are for your own reference and can be changed later.

## Project List

Once you have projects, the organization dashboard shows them as a card grid. Each card displays the project name, API key count, and customer count at a glance. Click any card to enter that project.

## Inside a Project

After entering a project, a sidebar appears on the left with these sections:

| Section       | What it does                                                                 |
| ------------- | ---------------------------------------------------------------------------- |
| **Overview**  | At-a-glance project health: traffic, spend, and recent activity.             |
| **Models**    | Browse and configure the models your customers can call through the gateway. |
| **Customers** | Browse all customers, inspect their wallets, and view available funds.       |
| **Keys**      | Create, view, and revoke API keys scoped to this project.                    |
| **Usage**     | Per-call usage and cost across the gateway and the billing ledger.           |
| **Settings**  | Rename the project or manage other project-level configurations.             |

A project exposes two kinds of keys: `vb_live_` project keys for server-side use (they require an `X-Velobase-Customer` header to say who to bill) and `vb_customer_` customer-scoped keys (they carry their own customer binding, so no header is needed).

## Isolation Model

Each project is a fully independent namespace for gateway traffic and billing:

* **API Keys** are scoped to a single project. A key from project A cannot access customers in project B.
* **Customers** belong to exactly one project. The same `customer_id` in two different projects refers to two different customers with separate wallets.
* **Usage and billing records** (gateway calls, deposits, deductions, freezes) are project-scoped and never cross boundaries.

This means you can safely use one project for production and another for testing without any risk of interference. Wallet balances are tracked per customer using explicit unit fields (`amount_usd`, `amount_cents`, `amount_credits`, where 1 USD = 100 cents = 1,000,000 credits), so funds are always unambiguous across projects.

## Tips

* **Testing**: Create a dedicated project (e.g. `my-app-test`) instead of mixing test data into your production project.
* **Multi-tenant**: If you operate multiple products, give each one its own project for clean separation.
* **Renaming**: Project names can be changed at any time from the Settings page without affecting API keys or data.
