> Every Sentinel doc, as Markdown: https://runsentinel.app/llms.txt

# Billing

Free to set up. You pay a monthly price for the live mainnet contracts you monitor, counted by unique code. Checks are added to the same invoice per run, with a cap you set per watch.

## Tiers

See [Pricing](/pricing).

| Tier | Price | Live mainnet contracts |
|---|---|---|
| Free | $0 | none: plans, pre-launch watches and testnet |
| Builder | $19 per live contract / month | up to 3 |
| Team | $399 / month ($299 for accounts that start by Dec 31, 2026, kept while the subscription continues) | 15 |
| Protocol | Yearly, with us | as agreed |

Alerts, monitored events and plans are free on every tier. Events are counted so you can see them, never billed. Protocol is set up with us; write to support@runsentinel.app. Ecosystems (a foundation or program covering many projects) are set up with us too.

## What counts

A contract counts when it is on mainnet and monitoring is on for it. Pausing its watches does not free the slot; turning monitoring off does (`sentinel off <contract>`). The same source code on two contracts counts once, so a second deploy of identical code is free. Testnet contracts, pre-launch watches and contracts with monitoring off are not counted. System watches (`when sbtc`, `when pox5`) are included on a paid tier and are not counted.

On Builder, going live past your count shows the added $19 and adds it once you confirm with `--yes`. Turning a contract off lowers the next invoice, and adding one back in the same month charges the prorated amount again.

A watch your tier doesn't cover is saved and waits: on Free every mainnet contract, on a full tier (3 on Builder) the next one. It goes live when you upgrade or turn another contract off, with no command. `sentinel test-alert <contract> --yes` sends the newest real match of its watches in the last 90 days as a test, marked with its date. A contract that deployed while you were at the limit (a pre-launch watch going live) waits the same way: you are told once, and nothing live is turned off. System watches (`when sbtc`, `when pox5`) and mainnet deploy watches have no contract to wait in, so on Free they are refused with `402` and `sentinel upgrade builder`.

## Checks

| What | Note | Price |
|---|---|---|
| Check | A model answers your question on one event, cited, per run, with a cap you set per watch (default 100 a month) | $0.25 / run, $0.75 with `--deep` |

A check runs on a paid tier, or on Free with a card added for checks. It is charged once per run that answered, on your subscription's next invoice. A yes whose reasons don't check out, a check that couldn't run, and a digest question that couldn't be answered are free. Backtests are charged and don't count toward the cap. See [Checks](/docs/watches-and-alerts#checks).

Free can preview a check (what it would match and cost, no model) and run up to 10 Sonnet backtest runs a month at no charge. For live checks and `--deep` without a monthly plan, add a card for checks on the account page: runs are billed per run, invoiced at $10 owed or at month end, and still capped per watch. A card for checks never puts a mainnet contract live; that needs Builder or Team.

Your Sentinel account always uses the secondlayer account of the same email for sign-in. If that email already had one, you allow it once: at web sign-in, or by approving `sentinel login`. Nothing turns on until you do. Billing is separate: Sentinel's own subscription, paid through Stripe.

## If a payment fails

| When | What happens |
|---|---|
| Day 0 | You get an email. Monitoring and alerts continue while Stripe retries |
| Day 3 | A reminder. Alerts still arrive |
| Day 6 | Last warning: monitoring pauses tomorrow |
| Day 7, or Stripe marks it unpaid | Monitoring pauses and checks stop. Alerts are kept and not sent. Fix the payment and it resumes within a minute |

## Cancelling

Cancel from the billing page's Manage billing. The plan runs to the end of the period; you are told when you cancel and 3 days before it ends. Then your live mainnet watches turn off. Nothing is deleted: turn them back on with `sentinel on` under whatever tier you have then.

## Check from a terminal

**CLI**

```sh
$ sentinel whoami
```

**MCP**

```txt
whoami {}
```

It prints your tier, how many live contracts it covers, and this period's check usage. `GET /billing` returns the same, with each live contract grouped by its code.

> **Spends money**
>
> A key with Monitoring write can turn monitoring on, which counts against your tier, and checks are charged per run. A write that costs money shows its cost first and only goes ahead with `--yes` or `confirm: true`. `sentinel upgrade <tier>` gives a Stripe Checkout link (or the portal link, once subscribed); the person pays there. Changing tier and the card stay on the account page (`/account`).
