Skip to content
OpenRelay is in early access, and the /v1 API is stable. New capabilities ship in the changelog.

VM billing and burn rate

One bundled hourly rate per VM, live burn, and runway to the auto-stop floor.

One bundled hourly rate

Every VM bills at a single hourly rate:

  • GPU VMs: the per-GPU catalog price times the number of GPUs. A 3-GPU VM at $1.37/GPU-hr bills $4.11/hr.
  • CPU VMs: a flat rate for the resource size.

CPU, RAM, and disk are included in that rate. Disk is not billed separately, and there is no per-GB storage charge.

The rate is locked when the VM starts running. A catalog price change never re-rates a running VM; the locked rate is exactly what you are charged at settlement. A stopped VM has no locked rate, so quotes for it use the current catalog price.

Live burn: GET /v1/vms/{id}/burn

Returns the VM's rate, what the current session has cost so far, and your organization's overall burn:

curl https://api.openrelay.inc/v1/vms/{id}/burn \
  -H "Authorization: Bearer vl_your_api_key"
{
  "vmId": "4f6b9a1e-9f1c-4c58-a6a3-1f2f0f6f7a10",
  "pricePerHourCents": 411,
  "rateSource": "locked",
  "rateBasis": "gpu",
  "gpuCount": 3,
  "perGpuCents": 137,
  "diskBilled": false,
  "accruedSessionCents": 1028,
  "sessionStartedAt": "2026-07-18T09:12:00Z",
  "orgAccruedMonthCents": 2120,
  "orgAvailableCents": 10430,
  "orgBurnPerHourCents": 414,
  "projectedRunwayHours": 25.07,
  "autoStopFloorCents": 50
}
  • rateSource is locked while a usage session is open (the rate settlement will charge) and catalog otherwise (the rate that would apply on the next start).
  • accruedSessionCents is the cost of the current session so far, computed with the same math as your monthly bill.
  • orgBurnPerHourCents is the sum of the locked rates of everything currently running in your organization.
  • projectedRunwayHours is how long your available balance lasts at the current burn, measured down to the auto-stop floor ($0.50 of available balance). When available balance drops below that floor and auto-recharge cannot top it up, running workloads are stopped automatically. It is null when nothing is accruing.

From the CLI: orl vms burn get <vm-id>.

The same numbers appear in the dashboard on each VM's detail page (hourly rate, session cost) and on the Usage page (org burn rate and runway).

On this page