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

# Billing and usage

> How Baseten meters per-minute usage, and how to manage payment, credits, and invoices for your workspace.

Manage workspace payment methods, credits, invoices, budgets, and usage from the [billing and usage dashboard](https://app.baseten.co/settings/billing). Baseten updates deployment usage hourly. For organizations with teams, usage is aggregated at the organization level and visible only to Admins.

## View usage

View usage in the dashboard, or query the same data through the Baseten CLI or Management API. Use the results for cost attribution, reporting, or spend alerts. The CLI and API separate dedicated inference, Model APIs, and training usage and include per-resource and daily breakdowns. A query can cover up to 31 days and cannot start before January 1, 2026 UTC.

<Tabs>
  <Tab title="UI">
    **To view usage in the console**:

    1. Sign in to your workspace at [app.baseten.co](https://app.baseten.co) and open **Organization settings**.
    2. Choose **Billing and usage**.

    View your Dedicated Inference, Model APIs, and Training usage history. From here you can also view invoices and manage a [monthly budget](#monthly-budget).
  </Tab>

  <Tab title="Baseten CLI">
    **To view a usage summary**:

    <CodeGroup>
      ```bash Command theme={"system"}
      baseten org billing usage
      ```

      ```txt Output theme={"system"}
      Window: 2026-07-29 15:18 – 2026-08-05 15:18 local
      CATEGORY    MINUTES     TOTAL   CREDITS   SUBTOTAL
      Dedicated     11520  $1513.22   $500.00   $1013.22
      Model APIs        -   $171.15     $0.00    $171.15
      Training       1440   $156.00     $0.00    $156.00
      All                  $1840.37   $500.00   $1340.37
      ```
    </CodeGroup>

    The command defaults to the last 7 days. Pass `--since` for a relative window or `--start` and `--end` for an explicit range, and `--output json` for the per-resource breakdown.
  </Tab>

  <Tab title="REST API">
    **To retrieve a usage summary**:

    <CodeGroup>
      ```bash Command theme={"system"}
      curl --request GET \
        --url "https://api.baseten.co/v1/billing/usage_summary?start_date=2026-07-29T00:00:00Z&end_date=2026-08-05T00:00:00Z" \
        --header "Authorization: Bearer $BASETEN_API_KEY"
      ```

      ```json Output theme={"system"}
      {
        "dedicated_usage": {
          "total": "1513.22",
          "credits_used": "500.00",
          "subtotal": "1013.22",
          "minutes": 11520,
          "breakdown": [
            {
              "billable_resource": {
                "id": "def456",
                "kind": "MODEL_DEPLOYMENT",
                "name": "deployment-1",
                "model_name": "HelloWorld",
                "is_deleted": false,
                "instance_type": "H100",
                "environment_name": "production"
              },
              "subtotal": "1201.17",
              "compute_cost": "1091.97",
              "surcharge_cost": "109.20",
              "minutes": 10080,
              "inference_requests": 84210,
              "daily": [
                {
                  "date": "2026-07-29",
                  "subtotal": "171.60",
                  "compute_cost": "156.00",
                  "surcharge_cost": "15.60",
                  "minutes": 1440,
                  "inference_requests": 12030
                }
                ...
              ]
            }
            ...
          ]
        },
        "model_apis_usage": { ... },
        "training_usage": { ... }
      }
      ```
    </CodeGroup>

    Set `$BASETEN_API_KEY` to an [API key](/organization/api-keys). Both `start_date` and `end_date` are required.
  </Tab>
</Tabs>

For more information, see the [billing usage summary endpoint](/reference/management-api/billing/gets-billing-usage-summary-for-a-date-range) and [`baseten org billing`](/reference/cli/baseten/org-billing).

***

## Account billing

### Payment method

Baseten's payment processor stores card and bank information. Baseten does not store it directly.

**To add or update a payment method**:

1. Sign in to your workspace at [app.baseten.co](https://app.baseten.co) and open the [billing dashboard](https://app.baseten.co/settings/billing).
2. Choose **Update payment method**.
3. Choose **Card** or **US bank account** and enter your information.
4. Choose **Save payment method**.

### Credits

New workspaces receive credits for testing and deployment. Baseten applies credits to the current invoice before charging a payment method; you do not need to redeem them. If the credits run out and the workspace has no payment method, Baseten deactivates its models until you add one.

Baseten doesn't offer a separate free tier or perpetual free plan. Baseten bills any usage beyond your starting credits at standard per-minute [instance pricing](/deployment/resources#instance-type-reference).

Check your current credit balance and remaining amount on the [billing dashboard](https://app.baseten.co/settings/billing).

<Note>
  If you signed up but don't see credits applied to your workspace, or you're evaluating Baseten for a larger proof of concept and need additional credits, [contact us](https://www.baseten.co/talk-to-us).
</Note>

### Invoices and payment cadence

Baseten issues an invoice when usage exceeds \$50 or at the end of the calendar month, whichever comes first. After a history of successful payments, billing moves to a monthly cadence.

You can view past invoices and payments in the billing dashboard. For questions about a specific invoice, [contact support](mailto:support@baseten.co).

### Monthly budget

Set a monthly budget on the [billing dashboard](https://app.baseten.co/settings/billing) to receive spend notifications. The budget covers the workspace's combined dedicated inference, Model APIs, and training usage for the calendar month. Baseten sends email notifications at 75%, 90%, and 100% of the budget.

Changing a budget mid-month re-evaluates the thresholds against the new amount, and removing it turns budget notifications off entirely.

#### Budget enforcement

By default, a budget sends notifications but does not stop usage. You remain responsible for costs above the configured amount. Enabling **Enforce budget** rejects Model API requests after spend reaches the budget. Access returns at the start of the next month, when you raise the budget above current spend, or when you remove the budget or disable enforcement.

Enforcement applies only to Model APIs. A budget never stops dedicated deployments or training jobs; they continue to run and accrue charges regardless of this setting.

### Discounts

The Pro plan offers volume discounts. Education and nonprofit ML projects qualify for additional discounts. [Contact support](mailto:support@baseten.co) to apply.

***

## What's billed

Baseten meters usage by the minute while a workload is running on a node. The instance's per-minute price applies to serving replicas, image-builder workloads, and training workloads. Image builds are billable, but a replica that never starts is not.

Baseten does not meter scheduling or image pulls before a workload starts, or draining, cleanup, and recycling after it terminates.

### Replica lifecycle

When you run `truss push`, Baseten runs your image build as a workload and meters it the same way as serving replicas and training containers: from the moment the build comes up.

Cold starts are billable because model loading occurs after the replica starts. Setting `min_replica` to zero avoids GPU charges while idle, but the next request waits for a replica to start and load the model.

The full mapping:

| Lifecycle phase                                                                         | Billed                 |
| --------------------------------------------------------------------------------------- | ---------------------- |
| Image build after `truss push` (runs in a builder workload)                             | Yes                    |
| Image pull onto the node                                                                | No                     |
| Cold start and model load                                                               | Yes                    |
| Serving requests                                                                        | Yes                    |
| Idle warm replicas (`min_replica` ≥ 1)                                                  | Yes                    |
| Autoscaling terminates a replica                                                        | Yes, up to termination |
| Replica dies mid-request (OOM, crash)                                                   | Yes, up to termination |
| Failed boot (the replica never came up)                                                 | No                     |
| Scaled to zero (`min_replica: 0`, no traffic)                                           | No                     |
| [Development deployments](/development/model/deploy-and-iterate) (`truss push --watch`) | No                     |

The following details explain several lifecycle phases:

**Why image build costs money.** The build runs as its own workload, and Baseten meters it the same way as your serving replicas. Faster builds save money. Heavy or unnecessary install steps in your `config.yaml` cost you on every push.

**Why cold starts cost money.** The replica is already up during model load, so those minutes count. See [Cold starts](/deployment/autoscaling/cold-starts) for techniques to shrink that window.

**Why failed boots are free.** If the replica never comes up, you pay for zero minutes. Image-build failures that happen inside the builder workload, on the other hand, are billed up to the moment the build fails.

**What happens if a replica dies mid-request.** You pay for usage up to the moment the replica terminates, and partial minutes round up.

### Training and fine-tuning

Baseten meters training and fine-tuning runs the same way as serving. A run is billed for the wall-clock time from the moment the training workload comes up until the job completes or you cancel it. For how training storage works, see [Training storage](/training/concepts/storage).

### Instance pricing

The [instance type reference](/deployment/resources#instance-type-reference) lists per-minute prices for every available instance type. To convert per-minute to per-hour, multiply by 60.
