Credits
View as MarkdownA credit is Simmit's unit of compute. Sims are metered per second of SimulationCraft runtime, at your account's metering rate: plan.creditsPerSecond in GET /v1/simc/usage. At a rate of 32 credits per second, a sim that runs for ten seconds costs 320 credits. Longer jobs cost more.
The rate tracks the speed of the machines your sims run on, and the promise behind it is machine invariance: when Simmit moves to faster hardware, the rate rises with the speed, your sims finish sooner, and the total cost of a sim stays put. Calibration rounds in your favor, so a hardware change never raises what a sim costs. vCPU counts (plan.vcpuPerJob, runtime.vcpus) describe how fast your job runs; they are not billing inputs.
#How a bill is calculated
Every job reports the rate it was billed at, so a settled bill can be verified from the job record with one multiplication:
creditsConsumed = runtime.creditsPerSecond × billed_seconds + runtime.priorityFeeCredits
billed_seconds is runtime.simDurationMs rounded up to the nearest whole second: wall-clock SimC execution time. Any billable run is billed at least 1 credit. Only time spent running SimulationCraft counts. The following are not included:
- Queue time
- Worker setup (e.g. fetching the SimC build, staging inputs)
- Multi-stage orchestration
- Artifact collection and upload
- Platform overhead
A job that ran SimC for 4.2 seconds is billed as 5 seconds. That total is the same whether the job ran immediately or sat in queue for 30 seconds with another 3 seconds of worker setup, orchestration, and upload.
runtime.priorityFeeCredits is 0 unless a priority fee applied.
#What consumes credits
If SimC ran, its runtime consumes credits. This includes:
- Jobs cancelled mid-run (charged for SimC runtime up to cancellation)
- Jobs where SimC crashes mid-execution (charged for runtime up to the crash)
- Jobs stopped because your balance ran out mid-run (charged for runtime up to the stop)
Jobs interrupted by platform issues (e.g. VM preemption) are automatically retried, and only the successful run's billed seconds count.
#Job budgets
A job reserves credits from your balance while it runs and refunds the unused reservation when it settles. If your balance runs out mid-run, the job stops with errorCode credits_exhausted, billed for its runtime.
runtime.maxCredits is an optional spend cap: the full cap is reserved at submission, and a job that reaches it stops with errorCode max_credits_reached, billed the cap. The largest cap, and the most a job without one can spend, is plan.maxCreditsPerJob on GET /v1/simc/usage.
#Included credits
Each new account starts with a one-time starter grant. Account verification activates a recurring monthly grant at no cost. Both appear in your Credits activity, with the exact amounts issued to your account.
#Spending order
Spending is prioritized toward grants first (soonest-expiring used first), then purchased credits. See your Credits activity for the full record of grants, purchases, and consumption.