Docs / AI coding agents

VoltageGPU for AI coding agents

If you code with an assistant such as Claude Code, Cursor, GitHub Copilot or Codex, it can manage VoltageGPU for you: deploy a Confidential VM, a standard GPU pod, a bare metal machine or a sandbox, wait until it answers over SSH, check the attestation, release it, and call the inference API. Everything it needs is in one Markdown file, written as instructions to the agent: https://voltagegpu.com/coding-agents.md.

Set it up in three steps

  1. Create two keys at voltagegpu.com/api-keys: a GPU Pods key (volt_...) and, for inference, an AI Inference key (vgpu_...). Keys are shown once. Your agent cannot create them: that route needs your dashboard session.
  2. Put them in environment variables, never in the repository: VOLT_API_KEY and VOLTAGEGPU_API_KEY.
  3. Paste the block below into the AGENTS.md or CLAUDE.md of your project.
## VoltageGPU
- Before any VoltageGPU call, read https://voltagegpu.com/coding-agents.md and follow it.
- Keys come from environment variables only: VOLT_API_KEY (volt_..., GPU pods, header X-API-Key)
  and VOLTAGEGPU_API_KEY (vgpu_..., inference, header Authorization: Bearer). Never print,
  log, commit or paste a key. Never create or revoke keys: the user does it at
  https://voltagegpu.com/api-keys.
- Ask me before anything that spends money: say the machine, the hourly price, that one hour
  is charged at deploy, and the automatic stop you will set. Wait for a yes.
- Keep a list of every pod, VM, bare metal machine and sandbox you create, and release each one
  when the task ends or fails. Powering a machine off from inside does not stop billing.
- Only Confidential VMs are confidential. Standard pods, bare metal and sandboxes have no enclave.

What the agent can do

MachineCreateReady whenReleaseEnclave
Confidential VM (Intel TDX)POST /api/volt/pods, provider "confidential", resource_name from GET /api/volt/machinesGET /api/volt/pods until ssh_ready is true (about two minutes)DELETE /api/volt/pods/{workloadUid}Yes
Standard GPU podPOST /api/volt/pods, provider "standard", machine_id from GET /api/volt/machines?provider=standardGET /api/volt/pods/{id} until ssh_command is setDELETE /api/volt/pods/{id}No
Dedicated bare metalPOST /api/volt/pods, provider "dedicated", machine_id from GET /api/volt/machines?provider=dedicatedGET /api/volt/pods, entry with tier "dedicated" (15 to 25 minutes)DELETE /api/volt/pods/{id}No
Sandbox (CPU only)POST /api/volt/sandboxesIn seconds; sshCommand in the answer or in GET /api/volt/sandboxesDELETE /api/volt/sandboxes/{id}No

All of these take the X-API-Key header on https://api.voltagegpu.com. Inference is at https://api.voltagegpu.com/v1 with Authorization: Bearer and the vgpu_ key (OpenAI-compatible, models listed by GET /v1/models). Bare metal needs a verified account with at least $100 of card top-ups (the first one more than 14 days old, none disputed) and runs one machine at a time; sandboxes need a verified email and one card payment. Either offer can be closed, in which case the API answers 403 FEATURE_DISABLED.

What the file makes the agent do

  • Never print, log or commit a key; read it from the environment.
  • Ask you before any spending: machine, hourly price, the hour charged at deploy, the automatic stop it will set.
  • Set an automatic stop on everything it creates (hardstop_hours, auto_terminate_hours, deleteTimeoutSec) and release everything at the end, or after an error.
  • Never deploy again after an uncertain answer ("charged": true or a timeout) without listing your pods first.
  • Never call a standard pod, a bare metal machine or a sandbox confidential.

Billing, in short

  • Prepaid balance. One hour is charged when a deploy succeeds, then billing is per second.
  • Released within that hour, the unused seconds go back to the balance. Bare metal always bills 15 minutes.
  • Halting a machine from inside does not stop billing; a release or the automatic stop does.
  • When the balance can no longer pay, running machines are stopped and their data is lost.

Verified, and not verified

  • NVIDIA GPU attestation from inside a Confidential VM is verified on four SKUs only: single-GPU H200, the 8x H100 node (NVSwitch not verified), single-GPU H100 and single-GPU RTX PRO 6000 Blackwell. The deploy answer says it in attestation.verified. See the Confidential VM guide.
  • Standard pods, dedicated bare metal and sandboxes have no enclave and no attestation.
  • Confidential CPU servers (AMD EPYC) are not verified by us and not deployable at the moment.
  • Inference attestation (GET /v1/attestation) proves confidential hardware answering your nonce, not which instance served a given response.

Files for agents