COMPUTE.md

Price, customize, and provision compute for your AI agent.

Free calculators and a skill file your agent follows. It prices only with your own quotes. No sign-up, no keys.

Computed just nowExample inputs

Example12,000 requests a day, 1,500 tokens in and 300 out. Self-host Qwen3.6 27B on H100 SXM at $2.00 a GPU-hour, or call an API at $0.70 in and $2.80 out per million tokens. Latency target 8 s.

The API is cheaper by $25.32 a day

Self-host
$48.00 a day
1 GPU, 1.1% busy on average
Hosted API
$22.68 a day
$1.89 per 1,000 requests
Break-even
25,397
requests a day where both cost the same
Answer at peak
4.5 s
meets your latency target
Cost a day
  • Self-host$48.00
  • Hosted API$22.68

Example10,000 calls of 6,000 tokens in (4,000 cacheable) and 800 out, 12 s each. Limits of 4,000 requests and 2M input tokens a minute; $2.40 in and $9.60 out per million tokens; a $300.00 budget.

Keep 53 calls in flight; done in about 39.1 min

Calls in flight
53
input tokens per minute is the limit that binds
Time to finish
39.1 min
10,310 calls with retries
Cost with cache
$158.36
$227.64 without
Hard cap
$190.03
inside your $300.00 budget
Expected cost of the run
  • No cache$227.64
  • With cache$158.36
  • Batch mode$113.82

Example8 GPUs on a 6-hour job, one interruption every 4 hours on average, 3-minute checkpoints. $1.20 spot or $3.00 on-demand per GPU-hour.

Spot is cheaper by $73.35

Spot, expected
7.4 h
$70.65
Spot, 2× interruptions
8.4 h
$80.51
On-demand
6 h
$144.00
Checkpoint every
37.9 min
7.9% overhead
Cost of the job
  • Spot$70.65
  • Spot, 2× interruptions$80.51
  • On-demand$144.00

Estimates on the example numbers shown. The prices are illustrative inputs, not quotes; compute.md has no prices of its own.

  • Know before you rent: what fits on which GPUs, and whether self-hosting beats an API at your volume.
  • Spend on purpose: pace thousands of model calls under your rate limits, with a cost and a hard cap up front.
  • Stop on time: budget, approval and stop rules your agent follows, then a teardown check.
  • Cap model spend for real: an optional local meter refuses model calls routed through it when their worst case could pass your cap. How it works
Try a calculator Add the MCP server
View raw file DownloadToo long for an instructions box? Copy the one-liner

Calculators

Price it with your numbers.

Five calculators for the compute questions that cost the most when an agent guesses. Type your own quotes and limits: compute.md has no prices of its own, and nothing you type is stored. Each one shows its formula and assumptions, and each is also /api/v1/<name> and an MCP tool, so your agent gets the same answer.

Self-host or hosted API

serve_cost

Compares serving a model yourself with calling a hosted API for one workload. It has no prices of its own: every price is your quote, and a missing price is left out. It never approves a plan or picks a provider.

What it computes

From requests per day, tokens per request and the peak (a peak-to-average ratio, a peak request rate, or the answers in flight at peak), it computes the load, the replicas and GPUs for the peak, average utilization, per-answer speed and answer time at peak (Little's law), and with your own price quotes the cost per day, month, request and million output tokens both ways, which is cheaper and the break-even volume. Speeds come from the fit estimate for a model and accelerator, trying replicas from the fewest GPUs that fit up to max_gpus, or from your own measured throughput.

More settings (14)

Prices are yours: type your own quotes. The example’s prices are round illustrative numbers, not quotes. Nothing you type is stored.

Result · example inputs

12,000 requests a day need 1 replica of 1x H100 SXM at FP8 for the peak, 1.1% busy on average, with answers in about 4.5 s at peak. Self-hosting costs $48.00 a day and the API $22.68, so the API is cheaper by $25.32 a day; they cost the same at about 25,397 requests a day. Estimates on your numbers.
Self-host
$48.00 a day
1 GPU, 1.1% busy on average
Hosted API
$22.68 a day
$1.89 per 1,000 requests
Break-even
25,397
requests a day where both cost the same
Answer at peak
4.5 s
meets your latency target
Cost a day
  • Self-host$48.00
  • Hosted API$22.68
GET /api/v1/serve_cost?requests_per_day=12000&input_tokens=1500&output_tokens=300&peak_factor=3&latency_target_s=8&cached_input_share=0&model=Qwen/Qwen3.6-27B&gpu=h100-sxm&precision=fp8&kv=bf16&max_gpus=8&max_streams_per_replica=256&replica_gpus=1&gpu_usd_per_hour=2&api_usd_per_m_input=0.7&api_usd_per_m_output=2.8&always_on=true&target_utilization=0.7
How it’s worked out: formula, assumptions, what isn’t checked

Formula

input_tokens_per_day = requests_per_day x input_tokens; output_tokens_per_day = requests_per_day x output_tokens; avg_requests_per_s = requests_per_day / 86400; peak_requests_per_s = avg x peak_factor, or as given, or peak_concurrency / answer_time; for each replica of n GPUs (fewest that fit up to max_gpus): per_stream = fit throughput at c streams / c; answer = ttft(input_tokens) + output_tokens / per_stream; in_flight = peak_requests_per_s x answer (Little's law), c iterated until it settles; replicas = ceil(in_flight / (target_utilization x c)); answer_time = ttft + output_tokens / per_stream_tok_s; utilization_avg = avg_output_tok_s / (replicas x replica_capacity_tok_s); self_host_usd_per_day = total_gpus x 24 x gpu_usd_per_hour; api_usd_per_request = (input_tokens x ((1 - cached_share) + cached_share x (1 - discount)) x usd_per_m_input + output_tokens x usd_per_m_output) / 1e6; usd_per_month = usd_per_day x 730 / 24; break_even_requests_per_day = gpus_per_replica x 24 x gpu_usd_per_hour / api_usd_per_request, for the cheapest replica shape that meets the latency target with every slot busy and carries that volume at the target utilization

Assumptions

peak_source:
peak_factor
target_utilization:
0.7
always_on:
true
hours_per_month:
730
capacity:
fit estimate. Replicas of the fewest GPUs that fit up to max_gpus are tried. Streams per replica settle at the peak load; per-answer speed = replica throughput / streams, with every slot busy (on the slow side). Replica capacity = throughput at the most streams its GPUs hold within the latency target.
model:
Qwen/Qwen3.6-27B
precision:
fp8
weights:
FP8
kv:
bf16
context:
2048
prompt_tokens:
1500
max_gpus:
8
max_streams_per_replica:
256
streams_per_replica:
3
sized_for:
fewest_gpus
peak_factor:
3

Not checked

  • · Engineering and operations time to run your own serving.
  • · Redundancy: a spare replica (N+1) for failures and deploys.
  • · Network egress and storage for weights and logs.
  • · Idle scale-down: cold starts, minimum billing and load time.
  • · Quality differences between the self-hosted model and the API model.
  • · API rate limits and your provider's terms.
  • · Measured speeds: fit speeds are bandwidth-bound upper bounds; confirm with a short load test.

Not an approval or a recommendation. It compares cost and speed on the numbers and quotes you gave; check model quality, uptime needs and your providers' terms yourself.

Full response (JSON)

Use at your own risk. compute.md is provided as is, without warranty. Information here may be inaccurate, incomplete or not current, and is not verified; sizing figures are estimates. Not financial, legal or procurement advice. Confirm everything with your providers before you rent or buy. Terms

Spend meter · runs on your machine

A hard cap on model spend

A prompt can ask your agent to stop. compute-meter can refuse the call. It’s a free, open-source script you run yourself: a small proxy on 127.0.0.1 between your agent and the model API, holding it to a budget you set.

  1. 1

    Reserve

    Before a call goes out, the meter prices its worst case with your own prices: the prompt, estimated from its size, plus the most output the call may return. A call with no output limit gets one added, so that worst case is a real ceiling. It sets that much aside.

  2. 2

    Refuse or forward

    If spent plus everything set aside plus this call would pass your cap, the call is refused with an error your agent can read. A call it can’t measure or price is refused too, never sent unmetered. Otherwise it goes on to the model API over HTTPS, streamed back as it arrives.

  3. 3

    Settle

    When the provider reports the call’s usage, the reservation becomes the real cost at your prices. If that report never arrives, the full reservation is charged, never zero. A call that cost more than it reserved is flagged in status.

Download the script into your project, write the templates, add your prices, start it with a cap. The cap is saved, so restarts keep it.

terminal
# In your project. One plain script, no dependencies: read it first. Needs Node 18+mkdir -p .compute && curl -fsSL https://www.compute.md/meter/compute-meter.mjs -o .compute/compute-meter.mjs && node .compute/compute-meter.mjs init# Put your own prices in .compute/prices.json (the template has no numbers), then set a cap.# start saves it in .compute/meter.json; on a meter that's already running it updates the cap.node .compute/compute-meter.mjs start --budget-usd 20#   also: --period run (since the last reset) | day | month, --max-call-usd, --max-calls, --max-tokens-mnode .compute/compute-meter.mjs status
/meter/compute-meter.mjssha256 dcb6a739851a0bf3…

What it holds to

  • The cap is enforced on reservations: they never add up past it, even with many calls in flight. Retries are counted as separate calls.
  • It fails closed: a request it can’t read, size or price (a malformed or compressed body, no model, an odd path) is refused, not forwarded.
  • Context the provider holds that the request doesn’t show (earlier responses, stored prompts, files or images by id or link) is reserved at a size you set, 200,000 tokens by default, or refused if you set that to 0.
  • Your cap sticks: start saves it, so the Claude Code hook and any restart use the same cap, and running start again on a live meter updates it. With no cap set, calls are refused unless you choose count-only.
  • Prices come only from your own file. A model you haven’t priced is refused, not guessed at, and two equally close price patterns are refused as ambiguous.
  • The refusal is a plain error that SDKs don’t retry. It says what the call could cost at worst, the cap, what was spent and where the cap is set, and that only you raise it.
  • It listens on 127.0.0.1 only, passes your keys through without writing them down, sends no telemetry and talks only to the model APIs you configure. One meter per ledger: a second one won’t start.

What it can’t do

  • It sees only the calls sent through its address. Anyone on the machine, your agent included, can unset that address or stop the meter: it’s a guardrail you control, not a lock. Teams can force routing through it with Claude Code’s managed settings.
  • Reservations are estimates. A call can still cost more than it reserved, for example when the provider adds more context than the size you set, so spend can end above the cap. That call is flagged and the next one is refused.
  • Each call reserves its full output limit, so the last part of a small cap can go unused. A Claude Code call can reserve about 200,000 tokens: set caps well above one call’s worst case.
  • It works with tools that call the model API directly and let you set a base URL: Claude Code with an API key, the official SDKs, and coding tools with a custom endpoint setting. Tools that send even your own key through their vendor’s servers can’t be metered.
  • Not covered in v1: realtime and WebSocket APIs (refused), and charges it can’t see, such as code-execution container time. Message batches are charged in full when submitted.
  • On a Claude Code subscription login it counts tokens and calls, not dollars, so use a token or call cap there. Remote Control and voice dictation are off while a custom base URL is set.
  • “--period run” counts since the last reset, not since the meter started. A meter the hook starts keeps running after the session until you stop it.
  • Its figures are estimates from your prices, not your invoice.

Provided as is, without warranty. You install it, you set the cap, and you can stop or remove it at any time. Keep your provider’s own spend limits and alerts too. Script: https://www.compute.md/meter/compute-meter.mjs. See the terms.

Before you rent

Will it fit, and on what?

The skill’s sizing rules, run on real model files. Weights come from the checkpoint’s size on disk; the KV cache from the model’s own attention layout, including sliding-window, linear-attention and latent caches that make naive math 10x wrong. Estimates only: confirm with a short test run.

The address bar keeps your inputs, so a result is a link you can share or bookmark. Your agent gets the same answer from /api/v1/fit or the fit_model MCP tool, for any Hugging Face model. Already have the hardware? Try what fits my GPUs.

Task

Memory needed (estimate)

≈ 68.9 GB

  • weights 51.7 GB
  • KV cache 16.0 GB
  • state 1.1 GB
  • 1× H100 SXM80 GB each2.1 GB spare each≈ 30 tok/s per stream at 8 · 237 total · first token 5.0 s
  • 1× A100 80GB80 GB each2.1 GB spare each≈ 19 tok/s per stream at 8 · 148 total · first token 16.0 s
  • 1× H100 PCIe80 GB each2.1 GB spare each≈ 18 tok/s per stream at 8 · 145 total · first token 6.6 s
  • 1× H100 NVL94 GB each14.7 GB spare each≈ 34 tok/s per stream at 8 · 272 total · first token 6.0 s
  • 1× GH20096 GB each16.5 GB spare each≈ 35 tok/s per stream at 8 · 279 total · first token 5.0 s

Spare = 90% of each device’s memory (the rest is kept for the serving software), minus 1 GB for the runtime, minus what this needs. On a Mac, 75% of unified memory counts.

Fits on 1× H100 SXM, about 2.1 GB spare on each

Get prices for this from your own providers, then a budget and a stop time before anything launches.

GET /api/v1/fit?model=Qwen/Qwen3.6-27B&task=serve&context=32768&concurrency=8

Estimates on your inputs, not measurements, and they may not be current. Speeds come from memory bandwidth plus fixed per-step costs; very short steps are marked as upper bounds. Confirm with a short test run before relying on them.

Agents already spend on compute. Most of them guess.

Coding agents now fine-tune models, stand up inference servers and fan out thousands of model calls on someone’s card. COMPUTE.md is a method in one file that an agent reads before it spends, with your stack and rules written in, plus the calculators above to do the math. Here is what changes.

  • Without: Rents a GPU, then finds out at load time that the KV cache doesn’t fit, or that half the card sits idle.

    With COMPUTE.md: Sizes it first: memory, GPU count and speed per stream for the model, context and concurrency you need.

    fit_model · what_fits

  • Without: Picks self-hosting or an API by feel.

    With COMPUTE.md: Prices both on your quotes, shows which costs less a day, and the volume where they cross.

    serve_cost

  • Without: Fires 10,000 calls at once, hits the rate limit, and retries blindly.

    With COMPUTE.md: Paces under your tightest limit: calls in flight, time to finish, cost with and without caching, and stop rules.

    plan_fanout

  • Without: Doesn’t notice the whole context is re-sent, and billed, on every turn.

    With COMPUTE.md: Counts what a session costs as the context grows, and what caching or compaction saves.

    estimate_run

  • Without: Runs spot with no checkpoints, or pays on-demand by default.

    With COMPUTE.md: Sets a checkpoint interval and compares expected and worst-case cost under a hard stop.

    spot_plan

  • Without: Leaves machines running over the weekend.

    With COMPUTE.md: Sets a hard stop inside your budget, checks the plan before launch, then lists what can still bill after teardown.

    check_plan · teardown

Every price in these steps is one you or your agent read from your own providers. The tools return estimates and never approve anything; a person still says yes before money moves.

Customize

Your rules, written into the file.

Start with the money: the budget, the amount above which your agent must ask, and an hourly cap are already set below. Change them, pick a preset, or go through the rest of the 126 settings in 15 groups. Your stack says what to provision; your rules say what your agent may do. Both are written into COMPUTE.md.

Every setting is a number or a fixed choice, with no provider names and no prices, so the file works with any provider and a shared link can’t slip words into it. The same settings work as URL parameters, MCP prompt arguments, the build_limits tool and /api/v1/limits.

Start from

A cautious starting point for most work: ask before anything risky, encrypt everything, keep outputs.

Spend

What the agent may spend, and when it must ask.

7 of 8 set

Your rules:what your agent may do

44 of 126 set
COMPUTE.md · your stack and rules
Your rules

Set by the person you work for, and only that person can change them. Rules an agent drafted count only after that person says yes. Where a rule here and the rest of this file differ, the rule wins, stricter or looser. Anything not listed follows the rest of this file. If a rule blocks the task, stop and ask; don't work around it.

Spend
Budget: at most $50 per task, compute and model calls together.
Ask the user before any single launch or purchase over $10, and before going over the budget.
Never run more than $25 per hour across all machines and services.
Model calls: at most $5 per task.
Warn the user at 80% of any budget or cap. At 100%, checkpoint and stop.
Never buy reserved, committed or prepaid capacity.
Ask the user before subscribing to any paid marketplace image, add-on or software license.
Time and teardown
Every machine gets a hard stop after 4 hours, and its hourly cost times the stop must fit inside the budget. Shut down anything idle for 30 minutes. Approved long-running services are the only exception.
Use spot or interruptible capacity only for work that checkpoints at least every 30 minutes; use on-demand for everything else.
Long-running services (apps, APIs, databases, model endpoints): ask the user first. Approved ones skip the hard stop, idle shutdown and end-of-task teardown, and get an owner tag, a review date in their expires_at tag and an idle alert.
When a task ends, copy its outputs to durable storage and delete everything else it created, except snapshots and backups the retention rule keeps and approved long-running services.
Storage
Fast storage: ask the user before paying for local NVMe, provisioned IOPS or extra throughput.
Retention: keep task outputs, snapshots and backups for 30 days, then delete them unless the user extends them.
Network and CDN
Exposure: ask the user before exposing anything to the internet.
IPs: ask the user before reserving a static or dedicated IP, and release it at teardown.
Remote access: only through a session service, bastion or zero-trust tunnel; never open SSH or RDP to the internet.
Network links: ask the user before connecting networks with a VPN, peering or a dedicated link.
DNS: ask the user before creating or changing records.
Models and inference
Model data: only services whose terms say they don't train on your prompts or outputs.
Media generation: ask the user before generating images, audio or video.
Security and encryption
Encryption at rest: on for every disk, bucket, snapshot, backup and database; provider-managed keys are fine.
Encryption in transit: TLS 1.2 or newer on every connection, internal ones included.
Secrets: in a secrets manager, read at runtime; never in code, images, logs or prompts.
Scanning: scan images and dependencies before deploying, and report what you find.
Access and permissions
Providers: only the accounts already set up for this project. Never create accounts or add payment methods.
Credentials: only those already configured; never create new keys or tokens.
Admin: ask the user before using admin, owner or root permissions.
Permissions: ask the user before creating or changing users, roles, policies or keys, and never widen your own access.
Production: ask the user before any change.
Ask the user before changing or deleting anything this task didn't create.
Data and regions
Regions: any.
Personal data: only what the task needs; mask or pseudonymize it outside production.
Provisioning: CLI or API calls are fine; log every command that creates, changes or deletes something.
Your stack

The setup the person you work for wants. Provision it at their provider: meet every line or take the closest offering above it, ask before going below any of them, and say what you matched and what differs. A stack an agent drafted counts only after the person says yes. If the stack and Your rules disagree, follow the rules and ask.

Storage
Backups: daily for every database and persistent volume; test one restore.
Databases and caches
Databases: managed services with automatic backups and private endpoints; don't run database servers on machines.
Network and CDN
CDN: allowed when it cuts egress or latency.
OS and runtime
Images: only current, supported images from the OS or platform publisher; no community images.
Patching: automatic security updates on anything that runs longer than a day.
Models and inference
Serving: scale to zero when idle; cold starts are fine.
Monitoring
Observability: basic metrics (CPU, memory, disk, network).
Alerts: tell the user about errors, latency, saturation and daily cost against the plan.
The full skill, with your stack and rules at the top.
mkdir -p ~/.claude/skills/compute && curl -fsSL "https://www.compute.md/compute.md?budget_usd=50&approval_usd=10&max_hourly_usd=25&model_budget_usd=5&alert_pct=80&commitments=never&marketplace=ask&stop_hours=4&idle_minutes=30&spot=checkpointed&checkpoint_minutes=30&long_running=ask&teardown=keep_outputs&backups=daily&fast_storage=ask&retention_days=30&databases=managed&cdn=allowed&exposure=ask&static_ip=ask&remote_access=tunnel&private_links=ask&dns=ask&images=official&patching=auto&serving=scale_to_zero&model_data=no_training&media=ask&monitoring=basic&alerts=on&encryption=provider&transit=tls12&secrets=manager&scanning=report&providers=existing&approver=user&credentials=existing&admin=ask&iam=ask&production=ask&approvals=shared&regions=any&personal_data=minimal&provisioning=cli" -o ~/.claude/skills/compute/SKILL.md
Linkhttps://www.compute.md/compute.md?budget_usd=50&approval_usd=10&max_hourly_usd=25&model_budget_usd=5&alert_pct=80&commitments=never&marketplace=ask&stop_hours=4&idle_minutes=30&spot=checkpointed&checkpoint_minutes=30&long_running=ask&teardown=keep_outputs&backups=daily&fast_storage=ask&retention_days=30&databases=managed&cdn=allowed&exposure=ask&static_ip=ask&remote_access=tunnel&private_links=ask&dns=ask&images=official&patching=auto&serving=scale_to_zero&model_data=no_training&media=ask&monitoring=basic&alerts=on&encryption=provider&transit=tls12&secrets=manager&scanning=report&providers=existing&approver=user&credentials=existing&admin=ask&iam=ask&production=ask&approvals=shared&regions=any&personal_data=minimal&provisioning=cli

Copy as JSON

The same settings as one JSON object. It feeds the check_plan tool or POST /api/v1/check.

44 of 126 settings set. Anything not set follows the skill’s own rules.

Use it in your stack

Paste it, install it, or call it.

The skill alone gives an agent a method to size, price and clean up. The MCP server and API add the calculators, sizing estimates, accelerator specs, your stack and rules, and plan checks. No key, no account.

Agents: one-pass setup at /setup.md

Paste the prompt into a system prompt, project instructions or custom instructions. Or keep the file in the repo and point AGENTS.md at it.

terminal
curl -fsSL https://www.compute.md/compute.md -o COMPUTE.mdecho "Before renting compute or spending on model calls, follow COMPUTE.md." >> AGENTS.md
Quickest start:claude mcp add --transport http compute https://www.compute.md/mcp

Example code

Size, plan, check, prove.

Working code against the API. The calculators are GET or POST at /api/v1/serve_cost /api/v1/compare_quotes /api/v1/plan_fanout /api/v1/estimate_run /api/v1/spot_plan /api/v1/teardown_check /api/v1/what_fits. The full reference is at /api/v1 and /openapi.json.

Size a deployment and print the options a person prices with their own providers and approves before anything launches.

plan.mts
// plan.mts: size a deployment with compute.md, then print the options your// user prices with their own providers and approves before anything launches.//   npx tsx plan.mts Qwen/Qwen3.6-27Bconst model = process.argv[2] ?? "Qwen/Qwen3.6-27B";const url = new URL("https://www.compute.md/api/v1/fit");url.search = new URLSearchParams({ model, context: "32768", concurrency: "16", limit: "20" }).toString();const res = await fetch(url);const fit = await res.json();if (!res.ok) throw new Error(`${res.status}: ${fit.error} ${fit.hint ?? ""}`);console.log(fit.summary.join("\n"));for (const w of fit.warnings) console.warn(`! ${w}`);// Hardware that fits, smallest first. Prices are blank on purpose: fill them// in from the providers you use, with where and when you read each one.const rows = fit.options  .filter((o: any) => o.fits && o.tier !== "local")  .slice(0, 3)  .map((o: any) => ({    hardware: `${o.count}x ${o.name}`,    free_gb_each: o.headroomGB,    tokens_per_s: o.throughputTokS,    usd_per_hour: "",    source_and_time: "",  }));console.table(rows);console.log(fit.disclaimer);

FAQ

Open any question for the answer.

Does compute.md rent or book compute?
compute.md itself never books or pays for anything. It is a skill plus tools that price, size, write your stack and rules, and check a plan against them. Your agent does the provisioning, through your own accounts, following the plan and limits you set. Nothing on compute.md can spend money.
Why are there no prices built in?
Prices change constantly and depend on your account, region and contract. The calculators use only the prices you type in. The skill has your agent read prices from your own providers at the moment it needs them, and say where and when it read each one.
Are the calculators’ answers a quote or advice?
No. They are estimates on the numbers you enter, with the formula, assumptions and what isn’t checked shown next to each result. They don’t approve, recommend or price anything for you. Check them against your providers’ own figures before you rent.
How accurate is the sizing?
It is an estimate on your inputs, it isn’t verified, and it may not be current. Weights come from the checkpoint; the KV cache follows each model’s attention layout; speeds come from memory bandwidth plus fixed per-step costs, and very short steps are marked as upper bounds. Serving frameworks add their own overhead, so run a short test before a long job.
Which models work?
Any Hugging Face repo with safetensors weights, read from its public files: parameters, checkpoint size and config. The 16 quick picks are pre-read. For a model that isn’t on Hugging Face, pass params_b and the attention shape.
Why would an agent follow this instead of guessing?
Because the expensive mistakes are predictable: the wrong GPU size, no comparison, unpaced fan-outs, spot without checkpoints and machines left running. The skill turns each into a rule with a check, and asks a person before money moves.
Can I change everything?
Yes. Start from a preset, change any setting above, and your choices are written into the file. Presets never touch your budget, approval or stop rules. Or edit the Markdown yourself. It’s MIT; keep your copy next to your code.
What can I set?
126 settings in 15 groups. Your stack: workload and replicas, machine class and vCPUs, RAM (DDR4 or DDR5, ECC), GPUs (count, memory, class, interconnect, nodes), disks (NVMe, block, IOPS, throughput), object and file storage, databases (type, size, failover, replicas), cache and queues, network (bandwidth, static IPs, IPv6, load balancer, TLS, CDN), OS and images, orchestration, models (task, context, latency, concurrency) and monitoring. Your rules: budgets and stop rules, caps, exposure and remote access, model-call limits, encryption, secrets, permissions, production and regions. Anything you leave unset falls back to the skill’s own defaults.
Does it name providers or prices?
No. Settings say what, never where: 32 GB of DDR5 with ECC, NVMe disks, single-tenant, HTTPS only. Your agent maps them to the provider you use and reads prices there. The sizing tools still name chips and open models, because that’s what they measure.
Can my agent check a plan?
Yes. It sends the resources it intends to launch, in neutral terms, with the prices it read, to the check_plan MCP tool or POST /api/v1/check. It gets back totals, rule breaks, where it falls short of your stack, and what needs a yes. A clean result isn’t approval; the person still says yes before money moves.
Can it stop an agent from launching something?
In Claude Code, for the commands it recognizes. The optional pre-flight gate is a local hook: a command that provisions compute (cloud CLIs, infrastructure as code, deploy scripts, provisioning MCP tools) needs a plan in .compute/plan.json checked against your settings. Blocked plans are refused and plans that need a yes ask you. A plan it doesn’t object to goes on to your normal permissions; the gate never approves anything. Its rules never stop teardown commands it recognizes.
Is the gate a guarantee?
No. It’s a seatbelt for honest mistakes, not a lock: it stops only what it recognizes, and anything that can edit your project can edit its files (it asks when your settings change after a commit). It runs on your machine and sends nothing. Keep your provider’s budget alerts, quotas and scoped credentials too.
Can it hold my agent to a model budget?
Yes, for the calls you route through it. The optional spend meter, compute-meter.mjs, is a local proxy you start with --budget-usd; it saves that cap, so its startup hook and restarts keep it. It reserves each call’s worst case at your own prices and refuses the call if that could pass the cap, refuses calls it can’t measure instead of sending them, then charges what the provider reports. The cap is enforced on those reservations, so a call that ends up costing more than it reserved can take spend past the cap; the next call is then refused. It only sees calls sent to its address, and anyone on the machine can unset that address, so it’s a guardrail you control, not a lock. It doesn’t cover tools that route calls through their vendor’s servers, realtime APIs, or charges it can’t see. Its figures are estimates from your prices, not your bill.
Can an agent set up its own stack and rules?
It can draft them: the same settings work as URL parameters, MCP prompt arguments, the build_limits tool and /api/v1/limits. The skill, the tool and the API all tell it that a drafted stack or rules count only after the person says yes, so it shows you the draft first. Nothing technical stops an agent from ignoring that, so read what it sends you.
Do you track anything?
We count skill fetches, API and MCP calls, and copies on this page to learn what is useful, without cookies; our analytics events hold no IP addresses. Google Analytics runs only if you accept cookies. Details in the terms.
How does it fit with the other .md files?
STABLECOINS.md moves the money, INSURANCE.md covers what goes wrong, MANAGE.md decides who may decide, and COMPUTE.md plans the compute your agent provisions.

3.0Use at your own risk: information here may be inaccurate or not current, and sizing figures are estimates. compute.md lists no prices and never books, pays, bills or holds keys; your agent provisions through your own accounts. See the terms.

COMPUTE.md: how AI agents price and provision compute