First Vast.ai GPU Rental With a Cost Fence
Overview
Prove the complete renter lifecycle without leaving billable storage behind. Search a verified offer, register SSH before creation, capture the returned contract ID, bound readiness polling, run one GPU check, retrieve evidence, and destroy.
Prerequisites
- Maximum hourly price, maximum elapsed time, GPU/VRAM need, disk size, and region policy
- Approved image tag and registered SSH public key
- Cleanup owner who can destroy the contract even when the workload fails
Instructions
Step 1: Verify identity and budget
Run vastai show user --raw; confirm the intended account and enough credit. Set an external deadline and total-spend ceiling before searching.
Step 2: Search a suitable offer
Use vastai search offers --raw with verified=true, rentable=true, reliability, direct-port, GPU, disk, and price constraints. Record the selected offer ID and quoted price components.
Step 3: Create exactly one instance
Create with an immutable image tag, SSH, direct networking when required, and the smallest sufficient disk. Capture new_contract as the instance ID.
Step 4: Wait with terminal branches
Poll vastai show instance ID --raw until actual_status is running. Abort and clean up on timeout, exited, unknown, or offline; never poll forever.
Step 5: Run and collect the canary
Resolve the SSH URL, execute nvidia-smi, run the bounded workload, and copy out the small result or checksum.
Step 6: Destroy and prove cleanup
Destroy the instance non-interactively and confirm it no longer appears. Destruction is irreversible but is required to stop storage charges.
Authentication
Use a scoped key that can search offers and manage instances but cannot transfer credit or administer teams. Keep SSH private keys local and never pass them through instance environment variables.
Tool Discipline
Use Read and Grep to inspect manifests, configuration, provider output, and existing tests before proposing a mutation. Use Write or Edit only for the approved plan, implementation, test, or redacted receipt; do not create, update, destroy, or fund Vast.ai resources without explicit operator approval.
Output
- Selected offer and cost-policy decision
- Instance state timeline and GPU canary result
- Artifact checksum plus confirmed destruction receipt
Return account ID, offer ID, instance ID, price, state transitions, canary result, and cleanup confirmation with secrets removed.
Examples
An operator rents one verified RTX 4090 below the approved hourly ceiling, reaches running within the deadline, records a CUDA device check, copies out a checksum, and destroys the contract in a guaranteed cleanup path.
Error Handling
| Failure |
Response |
| No offer satisfies policy |
Do not relax controls silently; report which constraint eliminated capacity. |
| Instance remains loading |
Respect the deadline, inspect image size and host network, then destroy and choose another offer. |
| Instance becomes exited, unknown, or offline |
Stop polling, salvage only if safe, destroy, and retry on a different host. |
| Cleanup command fails |
Escalate immediately with the instance ID because storage may still be billing. |
Resources