# Credits and Billing

Source: https://docs.screenshotlens.com/docs/dashboard/credits-billing
Summary: How credit pricing, charging, and billing actions work.

ScreenshotLens runs on prepaid credits. New accounts start with 100.

## Credit costs

| Capture              | Cost      |
| -------------------- | --------- |
| Viewport screenshot  | 1 credit  |
| Full-page screenshot | 2 credits |
| Rolling video        | 5 credits |

Rolling video costs the same in both formats and at any duration.

## When credits move

The balance is checked before the render starts. If it cannot cover the request, the API returns `402 Payment Required` and nothing is rendered, so a request you cannot afford never costs you anything.

The charge lands after a successful capture. One case is free: if the target page answers with a status of `400` or higher, you still get the capture and the response reports `credits_charged` as `0`.

## Billing actions

Open **Billing** at [app.screenshotlens.com](https://app.screenshotlens.com) to check your balance, review the credit ledger, buy credits, inspect usage trends, and open the payment portal.

## Related API endpoints

These endpoints back the Billing page. All of them need a dashboard session rather than an API key, except `/v1/packages`, which is public.

| Method | Path                         | Purpose                   |
| ------ | ---------------------------- | ------------------------- |
| `GET`  | `/v1/credits/balance`        | Current wallet balance    |
| `GET`  | `/v1/credits/transactions`   | Credit ledger history     |
| `GET`  | `/v1/credits/chart`          | Balance chart data        |
| `POST` | `/v1/credits/buy`            | Start checkout            |
| `POST` | `/v1/credits/manage-billing` | Open the payment portal   |
| `GET`  | `/v1/packages`               | Available credit packages |

[Responses and Errors](https://docs.screenshotlens.com/docs/api/responses-errors) shows the full `402` body.
