// PRICING & BILLING

Pricing & billing

MatMul is prepaid: you add credit, and running machines draw it down by the hour. There's no subscription and no monthly minimum.

Prices

Each offer has one price: US dollars per hour for the whole machine, with all its GPUs. That's what you're billed. Prices come from live supply and change as providers gain and lose capacity, so we don't publish a price list. matmul offers, the console's Launch page and GET /v1/offers/ show what you'd pay right now.

The price guard

A price can move between the moment you look and the moment the machine is created. Set a ceiling and the launch is refused, with nothing charged, if the price is above it:

WhereHow
ConsoleThe price you confirm in the launch dialog is sent as the ceiling.
CLImatmul instance create ... --max-price 3 (dollars per hour)
SDKcreate_instance(..., max_hourly_price_cents=300)
API"max_hourly_price_cents": 300 in POST /v1/instances/
MCPmax_hourly_usd, required on every launch (details)

When the guard trips, the API answers 409 the price rose above your max_hourly_price_cents; search again.

What you're charged for

Adding credit

Pay by card through Stripe Checkout, from the console's Billing page or:

matmul billing add-credit --usd 20    # prints a checkout link to open
matmul billing balance
matmul billing ledger

The credit lands a few seconds after the payment completes. Only the organization's owner can see the balance and add credit. Top-ups are $10 at the least and $500 at most, with up to $1,000 per rolling 24 hours.

New-account limits

A new organization starts unverified, with lower limits:

LimitUnverified
Instances at a time1
Managed jobs at a time1
Largest top-up$100
Top-ups per 24 hours$100
Usage per 24 hours$50
Grace period after a freeze1 hour (4 hours once verified)

They lift after a card payment authenticated by your bank (3-D Secure) or a review by us. Verified organizations can run 2 instances at a time. matmul billing balance shows the limits that apply to you, and Support can raise them.

Low balance, freezes and the grace period

  1. Launch check. A launch needs at least one hour of runway at the new machine's price. Otherwise it's refused with insufficient balance.
  2. Warning. When your balance has less than about an hour left at the current burn rate, we email the owner.
  3. Freeze. At zero, or when the account reaches its 24-hour usage limit, it's frozen. New launches are refused, and the CLI, console and MCP server show a warning. Running machines keep running.
  4. Grace period. If the account is still frozen when the grace period ends, running instances are terminated and managed jobs are cancelled, and we email you. Anything on those disks is lost. The grace period is 4 hours for verified organizations and 1 hour for unverified ones.

Adding credit lifts a balance freeze straight away. A usage-limit freeze lifts by itself once the rolling 24-hour window drops back under the limit. A freeze for another reason, such as a disputed payment, stays until we review it.

While frozen, GET /v1/billing/ returns frozen: true, frozen_reason, frozen_at and grace_hours_remaining, counted from your organization's grace period.

Platform capacity limit

Besides your own limits, MatMul caps how many machines run across all customers at once. While we're at that cap, a launch is refused with 429 GPU capacity is temporarily limited; please try again later. Nothing is charged, and machines that are already running aren't affected. Try again later, or ask Support if it keeps happening.

← All docs