Skip to content

Machine Catalogs

Varity Team Core Contributors Updated August 2026

Varity publishes four separate machine catalogs. Each one is a different product with a different price shape and a different way of getting a machine. Pick the catalog first.

Every number on this page was read from GET /api/deployment-profiles on 22 August 2026.

Catalogworkloadexecution_classProfilesRegionsHourly price
CPU VMsvirtual_machinecpu_virtual_machine262$0.019178 to $0.89726
GPU containersgpucontainer9not returned$1.431 to $5.13
GPU VMsgpuvirtual_machine18653$0.513 to $59.562
GPU bare metalgpubare_metal44$53.4735

Both query parameters are required. Every profile in all four catalogs was available at the time of reading.

CatalogYou rentHow you create itAccessMonthly cap
CPU VMsA CPU virtual machine, 2 to 64 vCPUPOST /api/machinesSSHYes
GPU containersA container running on one GPUPOST /api/deploymentsContainer deployment, no SSHNo
GPU VMsA VM with 1, 2, 4, or 8 attached GPUsPOST /api/machinesSSHNo
GPU bare metalA physical 8-GPU host, no hypervisorPOST /api/machinesSSHNo

Only CPU VMs carry monthly_cap_microusd. GPU profiles do not have a cap at all. A forgotten GPU machine accrues indefinitely.

You want to…Use
Run a worker, daemon, database, or build agent you administerCPU VMs
Control the kernel or install system packages, cheaplyCPU VMs, from $0.019178/hour
Run one container on one GPU without managing a hostGPU containers, 4 card types, $1.431 to $5.13/hour
Train or fine-tune on a specific card, with SSHGPU VMs, 21 card models, 53 regions
Get a whole 8× RTXPRO6000 host with no virtualization layerGPU bare metal, $53.4735/hour
Ship a web app and get a URL, with no machine to maintainApplications
Call a hosted model instead of running oneAI Gateway

CPU VM, GPU VM, and GPU bare-metal profiles share one shape (schema_version: public-machine-profile-v1). GPU container profiles are deliberately different (gpu-container-profiles-v1). Do not write one parser for all four.

Machine profilesGPU container profiles
Identifierprofile_id, prefix mp-id, prefix gpo-
Human namedisplay_namelabel
Price fieldcustomer_price.amount_microusd (integer microdollars)customer_price.hourly_usd (decimal dollars)
Host hardwarecpu_units, memory_mb, storage_mbnone (card only)
GPU factshardware.accelerator.alternatives[]hardware and accelerator.alternatives[]
regionpresentnot returned
os_imagespresentnot returned
availabilitya string, e.g. "available"an object: status, matching_capacity_count, aggregate_available_units, source_age_seconds
Created viaPOST /api/machinesPOST /api/deployments
Terminal window
curl "https://varity.app/api/deployment-profiles?workload=virtual_machine&execution_class=cpu_virtual_machine" \
-H "Authorization: Bearer $VARITY_API_KEY"
Terminal window
curl "https://varity.app/api/deployment-profiles?workload=gpu&execution_class=virtual_machine" \
-H "Authorization: Bearer $VARITY_API_KEY"

Swap execution_class for container or bare_metal to read the other two GPU catalogs.

Every catalog quotes billing_period: "hour" in USD.

  • CPU VMs publish amount_microusd and monthly_cap_microusd. The hourly rate is the monthly cap divided by 730.
  • GPU VMs and bare metal publish amount_microusd only.
  • GPU containers publish hourly_usd directly, with price_basis: "exact" and pricing_policy_version: "gpu-hourly-v2-2026-07-28".

Catalog prices are the list rate at the moment the catalog was read. CPU VM rates are fixed: the hourly figure is the monthly cap divided by 730. GPU rates are not a fixed price list. They follow the capacity actually on offer, so the GPU figures on this page are a dated snapshot rather than a rate card. See GPU machines for the detail.

Before creating anything you request a quote, which returns the binding hourly_usd, an authorization_usd, and a valid_until timestamp.