40 · Plans, billing and your account¶
Stalwart has three plans: free, paid and enterprise. This chapter says what each includes, how paying works, and what happens to your account when a payment fails or you cancel. It states no price: the prices are on the website's Products page, which shows them from the same file the service enforces, so a changed price never makes this guide wrong.
Signing up¶
A free account is opened from the website's sign-up page, with Google or an emailed link, and its first key is shown once on the welcome page (chapter 5). Opening one asks you to accept the terms and the data-processing addendum, and records the versions you accepted; a new version of either is put to the owner at their next sign-in. Nothing is charged to open or to keep a free account.
What each plan includes¶
Every table below is generated from the plans the service enforces. Nothing is billed per unit: the
paid plan is a flat subscription, monthly or yearly, and its caps are caps, not prices. Past a cap, a
request is refused as 429 quota_exhausted, naming the meter and when it resets; a request for something
your plan does not include is 403 not_in_tier, naming the plan and the feature (chapter 15).
What a key is granted, which decides which products and modes it can use:
| Grant | Free | Paid | Enterprise |
|---|---|---|---|
guardrail: Verifying a guardrail: the modes guardrail, enumerate_properties and replay_certificate. |
✓ | ✓ | ✓ |
batch: Property tables and their derivations: the modes batch, derive_pins and derive_expectations. |
— | ✓ | ✓ |
hunt: The bug hunter: mode: hunt, projects, scans and attempts on findings, with every finding counted and the most severe one in full. |
✓ | ✓ | ✓ |
hunt_details: Every hunt finding in full, with its lifecycle, quality gates, trends and ways through. |
— | ✓ | ✓ |
enumerate: Enumerating every counterexample of a guardrail property: enumerate: true on a guardrail request. |
— | ✓ | ✓ |
generate: Writing a guardrail with your own model: a guardrail request carrying generation. |
— | ✓ | ✓ |
long_solve: A wall budget above the standard ceiling of 900 seconds. |
— | — | ✓ |
forest: Verifying a random forest: the modes forest and forest_enumeration. |
✓ | ✓ | ✓ |
graph_check: Verifying agent graphs: mode: graph. |
✓ | ✓ | ✓ |
route: Reading a turn into a plan, on your own host: the licensed runtime, or POST /v1/plans on your router. |
✓ | ✓ | ✓ |
compute: Compute steps, run in the sandbox on your own host. |
✓ | ✓ | ✓ |
compute_local: Compute steps on your own host, on every tier: the runtime builds the prompt and admits the function, your own model writes it, and the published sandbox image runs it. Nothing of a step reaches this service; its counts do, in the usage report. |
✓ | ✓ | ✓ |
catalogue: Registering tool catalogues: /v1/catalogues. |
✓ | ✓ | ✓ |
tool_check: Checking tool calls, on your own host: the licensed runtime, or POST /v1/tool-checks on your router. |
✓ | ✓ | ✓ |
runtime: The licensed local runtime: its licence, leases, usage reports and bundles. |
✓ | ✓ | ✓ |
answer_compose: A model composing the answer from your documents' passages, rather than the passages' own sentences. |
— | ✓ | ✓ |
feedback: Sending your users' feedback: POST /v1/feedback. |
✓ | ✓ | ✓ |
mine: The hosted miner, which learns new words from that feedback. |
✓ | ✓ | ✓ |
grammar_report: Reporting a sentence shape the selector could not read: POST /v1/grammar-reports. |
✓ | ✓ | ✓ |
packages: The package feed: the toolkit, the extractor, the rulebook library, the sandbox image, and the router and licence-server images. |
— | — | ✓ |
What each plan may use each month, and the sizes it may send. Zero in the plans' file is no limit; a
plan without the grant a meter counts shows —:
| Each month, or in one request | Free | Paid | Enterprise |
|---|---|---|---|
plan_calls: Plans read, a month. |
1,000 | 100,000 | no limit |
compute_runs: Compute steps run, a month. |
100 | 10,000 | no limit |
compute_seconds: Seconds of compute, a month. |
300 | 30,000 | no limit |
cache_hits: Answers served from the cache, a month. |
no limit | no limit | no limit |
feedback_records: Feedback records kept, a month. |
1,000 | 100,000 | no limit |
mine_runs: Runs of the hosted miner, a month. |
10 | 100 | no limit |
catalogue_versions: Catalogue versions registered, a month. |
10 | no limit | no limit |
tool_checks: Tool calls checked here, a month; the runtime's own checks are counted in its usage reports. |
10,000 | 1,000,000 | no limit |
graph_checks: Graph jobs, a month. |
50 | 5,000 | no limit |
answer_calls: Answers a model composed from your documents, a month: one per model call. |
— | 20,000 | no limit |
catalogue_tools: Tools one catalogue may declare. |
50 | no limit | no limit |
graph_nodes: Nodes one graph may have, once its subgraphs are inlined at each use. |
40 | no limit | no limit |
Solves:
| Solves | Free | Paid | Enterprise |
|---|---|---|---|
multi_turn: questions over a conversation of several turns |
no | yes | yes |
phase0_only: each job runs Phase 0 alone, unless it asks for more |
yes | no | no |
full_solves_per_month: jobs a month that run fully when they ask for more |
1 | no limit | no limit |
forest.jobs: random forest jobs |
1 | 5 | no limit |
forest.per_days: in this many days |
7 | 1 | 1 |
Guardrail Writing:
| Guardrail writing | Free | Paid | Enterprise |
|---|---|---|---|
max_rounds: drafting rounds a request may ask for |
1 | 3 | 3 |
base_policy: adding a rule to an existing policy |
no | yes | yes |
gateway: your own OpenAI-compatible gateway |
no | no | yes |
jobs_per_minute: writing jobs a minute |
2 | 10 | 10 |
jobs_per_day: writing jobs a day |
20 | 200 | 200 |
What each key is held to:
| Each key | Free | Paid | Enterprise |
|---|---|---|---|
requests_per_minute: requests a minute |
20 | 120 | 500 |
concurrent_solves: jobs running at once |
1 | 4 | 10 |
concurrent_solves_forest: random forest jobs running at once |
1 | 1 | 1 |
streams: streams open at once |
32 | 32 | 32 |
monthly_solve_seconds: solve seconds a month |
1,800 | 10,800 | 360,000 |
wall_budget_ceiling_seconds: the longest wall budget a job may ask for, in seconds; a larger one is reduced to it |
60 | 900 | 900 |
max_upload_bytes: the largest file, in bytes |
1,048,576 | 8,388,608 | 31,457,280 |
max_upload_bytes_forest: the largest random forest file, in bytes |
10,485,760 | 31,457,280 | 536,870,912 |
artifact_retention_days: days an artefact stays downloadable |
30 | 30 | 30 |
max_proof_bytes: the largest FRAT proof kept, in bytes |
268,435,456 | 268,435,456 | 268,435,456 |
The local runtime's licence (chapter 38):
| The local runtime's licence | Free | Paid | Enterprise |
|---|---|---|---|
installations: machines holding a lease at once |
1 | 5 | 50 |
lease_days: days a lease runs before it is renewed |
7 | 7 | 7 |
offline_grace_days: days the runtime keeps working past its lease without reaching us |
7 | 30 | 30 |
offline_activation: activating a machine that never reaches the network, by request file |
no | no | yes |
People and keys:
| People and keys | Free | Paid | Enterprise |
|---|---|---|---|
tenants_per_owner: organisations one person may own |
1 | 5 | no limit |
members: members of an organisation |
1 | 5 | no limit |
api_keys: API keys |
1 | 10 | no limit |
invites_per_day: invitations a day |
10 | 50 | 200 |
bots: bots your organisation may run, counted on your own host from the licence |
1 | 5 | no limit |
staff: people who may sign in to a deployed bot's staff side, counted on your own host |
1 | 25 | no limit |
Paying¶
An owner, signed in as a person, subscribes on the console's Billing page. The page holds Stripe's own address and card fields, inside our page: no page of the flow is hosted by Stripe, and the card is typed into Stripe's fields and posted from your browser to Stripe. No card number, expiry or security code reaches our service; what we keep is how Stripe describes the card, its brand and last four digits. Stripe asks your bank to confirm the payment where it requires one (3-D Secure).
Your plan becomes paid when Stripe confirms the first invoice is paid, not when the page says the payment went through. From then on, every key of your organisation holds the paid plan's grants at its next request; there is no key to replace or widen.
Each period is invoiced by Stripe, with VAT added for billing addresses in the UK and the EU only. Every invoice is on the Billing page with its PDF.
Paying in Brazilian reais¶
The monthly price in BRL is offered to a buyer in Brazil. Two checks decide it:
- the IP address the request comes from is in Brazil, checked when you subscribe and at each change. The address is looked up and dropped: only its country and the time are kept;
- the billing address you enter is in Brazil, checked when you subscribe, at each change, and before each renewal, since a renewal has no request to check an IP address on.
Asking for the BRL price otherwise is refused as 409 brl_price_not_eligible, naming the check that
failed. There is no yearly BRL price: a buyer in Brazil who wants a year pays the yearly price in another
currency.
Changing, cancelling, and a payment that fails¶
- Monthly to yearly takes effect at once, with Stripe's credit for the unused part of the month. Yearly to monthly takes effect at the end of the paid year.
- A change of currency is never prorated: the current subscription ends at its period's end, and the new one starts after it, so each subscription's invoices stay in one currency.
- Changing the card is done on the same page, in Stripe's fields.
- Cancelling takes effect at the end of the period: the plan stays paid until then, then becomes free, with no refund for the unused part.
- A payment that fails is retried by Stripe on its own schedule. After the last attempt fails, the organisation has seven days' grace, shown in the console, and then moves to the free plan. Its data is kept: catalogues, findings, keys and artefacts stay, held to the free plan's limits.
Members¶
The owner invites members by email from the Account page and gives each a role: admin or viewer (chapter 5). How many members and invitations a day your plan allows is in the table above. Only an owner, signed in as a person, manages members, billing and closing the organisation.
Enterprise¶
The enterprise plan is priced on request. Choose Enterprise plan on the website's
Contact page, and the account is opened under contract.
It adds, among what the tables above show, the long_solve and packages grants: solves longer than the
standard ceiling, and the package feed with the router and licence-server images that run parts of the
service in your own environment.
The limits¶
- No price is stated in this guide; the Products page is the price list.
- A cap is a cap, not a bill: passing it refuses the request, and charges nothing.
- A plan moves to paid on Stripe's confirmation of payment, and back to free when a grace period ends or a cancelled period closes.