# Billing

Fleet uses a prepaid credit balance. Charges are deducted as you use compute, storage, and data transfer. You can top up at any time from the dashboard.

## What gets charged

| Item | Rate |
|------|------|
| Compute | GPU hourly rate for the assigned tier, billed per second |
| Storage | $0.01875/GB/month, billed daily |
| Downloads | $0.1125/GB when you download a model or dataset |

Data transfers that happen internally (loading a model or dataset for training, uploading checkpoints, and uploading the final output model) are not charged.

## Checking your balance

```python
info = client.billing()
print(info["balance"])              # current credit balance in USD
print(info["storage_gb"])           # total storage in use
print(info["storage_cost_per_month"])  # projected monthly storage cost
```

```bash
fleet billing
```

## Transaction history

```python
result = client.transactions(page=1, limit=50)
for tx in result["transactions"]:
    print(tx["type"], tx["amount"], tx["description"])
```

```bash
fleet billing transactions
fleet billing transactions --page=2 --limit=100
```

Transaction types: `topup`, `training`, `inference`, `storage`, `network`.

## Auto-recharge

Auto-recharge automatically tops up your balance when it drops below a threshold. A saved payment card is required. Add one from the dashboard.

### Enabling auto-recharge

```python
client.update_settings(
    auto_recharge_enabled=True,
    auto_recharge_threshold=10.0,   # recharge when balance drops below $10
    auto_recharge_amount=25.0,      # top up by $25 each time
)
```

```bash
fleet settings set auto_recharge_enabled true
fleet settings set auto_recharge_threshold 10
fleet settings set auto_recharge_amount 25
```

The recharge amount must be at least $5 and greater than the threshold.

### Status

Check the current auto-recharge status:

```python
settings = client.settings()
print(settings["auto_recharge_status"])
```

```bash
fleet settings
```

| Status | Meaning |
|--------|---------|
| `no_card` | No saved payment card on file |
| `ok` | Card saved, auto-recharge active |
| `pending` | A recharge is currently in progress |
| `failed` | Last charge failed; auto-recharge has been disabled |

If status is `failed`, fix the card issue in the dashboard and re-enable:

```python
client.update_settings(auto_recharge_enabled=True)
```

Re-enabling resets the status from `failed` to `ok`.

## Storage costs

Storage is metered daily based on what you have stored. Checkpoints are the main source of storage growth. See [Storage](/docs/storage) for how the checkpoint limit and completion pruning keep costs in check.

To see your current storage footprint:

```python
info = client.billing()
print(f"{info['storage_gb']:.2f} GB  —  ${info['storage_cost_per_month']:.4f}/mo")
```

Deleting a model, dataset, or checkpoint frees that storage immediately.
