Skip to content

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.