Rentals
Create a rental
Allocate a pod and start metering. Synchronous from your perspective until provisioning kicks off.
POST
GPU family id (
rtx-4090, h100-80gb, etc.).1, 2, 4, or 8.Optional, defaults to
ubuntu-24-04.Optional. ISO country code or broader region.
Optional human label for your bookkeeping, max 64 chars.
Pre-fill with e.g.
alice/exp-42.Optional. Force stop after N hours regardless. Caps your wallet burn.
Stable rental ID (
rent_…)provisioning initiallySSH host once provisioning finishes
SSH port once ready
Locked rate for this rental
ISO 8601 UTC
Minimum balance check
To launch a rental, your wallet’savailable must be at least
1 hour of cost. So a 0.65 minimum, an H100 needs
$2.80. The reserved amount is held against the wallet for the first hour;
after, metering takes over.
Polling for ready
PollGET /v1/rentals/:id every 2 seconds until status === 'running'
and host is populated. Typical: 20–60 seconds.
What happens server-side
- Validate request shape
- Take a row-level lock on the user’s wallet
- Verify available balance ≥ 1 hour of cost
- Reserve the hour’s cost (move from available → reserved)
- Pick the cheapest matching listing
- Send allocation request to the upstream provider
- Create a
rentalrow withstatus='provisioning' - Release the wallet lock
- Return 200
status='running' once the pod’s
SSH daemon answers.