Developer portal
One API for supplier GPU capacity
Request, inspect and terminate H100, A100 and B200 capacity over REST. Every launch checks live provider inventory; B200 is limited to four GPUs self-serve when matching stock exists. Metered billing, $0 egress.
$ curl -X POST https://www.kilawattcloud.dev/api/public/v1/agent/exec \$ -H "Authorization: Bearer $KILAWATT_API_KEY" \$ -d '{"gpu_type":"nvidia-h100","card_count":8,"duration_seconds":600}'Guides
Protocol & integration guides
Portal capabilities
Keys, analytics and quotas in one place
API Key Generation
Mint scoped kw_live_ keys per environment or tenant. Shown once, hashed at rest, revocable instantly from the console or the tokens endpoint.
Usage Analytics
Per-key request volume, GPU-hours consumed, p99 latency and error rate, streamed to the console and exportable to your own observability stack.
Quota Management
Rate limits, concurrent-cluster ceilings and spend caps enforced at the edge, with deterministic 429s and Retry-After headers.
30
Requests / minute
Per API key · 429 when exceeded
3
Concurrent jobs
Per API key · raised on request
8
GPUs per request
4 for B200 · up to 16 for RTX workstation classes
Customer set
Monthly spend cap
Optional ceiling above balance
REST API reference
Orchestration endpoints
https://www.kilawattcloud.dev/api/public/v1/agent/execPrices the job against live provider cost, pre-authorizes the full amount, routes to the cheapest healthy node with automatic failover, runs the workload and meters it. Use dry_run to price and pre-authorize without dispatching or charging.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| gpu_type | string | optional | nvidia-h100 · nvidia-h200 · nvidia-a100 · nvidia-b200 · nvidia-l40s · rtx a4000/a5000/a6000/3090/4090 (default nvidia-h100) |
| card_count | integer | optional | GPU count. 1–8 for H100 / H200 / A100 / L40S, 1–4 for B200, up to 16 for RTX workstation classes. Above the ceiling returns 400. |
| duration_seconds | integer | optional | 1–86400, default 600 |
| routing_policy | string | optional | lowest_cost · lowest_latency · zero_quota |
| max_price_usd | number | optional | Reject with 402 rather than bill above this |
| dry_run | boolean | optional | Price + pre-authorize only; never charges or provisions |
| payload | object | optional | Opaque workload payload passed to the node |
{
"gpu_type": "nvidia-h100",
"card_count": 8,
"duration_seconds": 60,
"routing_policy": "lowest_cost",
"dry_run": true
}// Real response from the live API (dry run, 8x H100 for 60s)
{
"status": "dry_run",
"workload_type": "agent_exec",
"gpu_type": "nvidia-h100",
"card_count": 8,
"routing_policy": "lowest_cost",
"billed_usd": 0.36,
"priced_node": "Node EU-Central-02",
"would_route": ["Node EU-Central-02", "Node US-East-04", "Node US-East-09"],
"authorized": true,
"reason": null
}Integrate
curl -X POST https://www.kilawattcloud.dev/api/public/v1/agent/exec \
-H "Authorization: Bearer $KILAWATT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"gpu_type":"nvidia-h100","card_count":8,"duration_seconds":60,"dry_run":true}'Billing, limits & safety
How spend is authorized and enforced
Full-cost pre-authorization
Before any node is contacted we price the whole job (GPU count × rate × requested duration) and reject it with a 402 naming the exact amount required if your balance can't cover it. No partial-hour launches.
Per-key rate & concurrency limits
Each key is capped at 3 concurrent active jobs and 30 requests per minute by default, returning 429 when exceeded. Limits are enforced server-side and can only be raised by Kilawatt.
Customer-set monthly spend cap
Set an optional monthly ceiling in Billing & Usage, per account or per key. Jobs that would push the month's usage past the cap are refused with a 402 even when the wallet is funded.
Live metering & automatic shutdown
Every instance we start, console or API, on either compute node, is tracked with a paid-through deadline. A job meters elapsed time every 15 minutes and terminates the instance at its node when the balance reaches zero or the paid window expires.
400
Invalid payload
Includes card_count above the enforced per-class ceiling
401
Invalid or revoked key
Authorization: Bearer kw_live_… missing, unknown or inactive
402
Insufficient balance or cap hit
Body names the exact USD required for the full job
429
Rate or concurrency limit
30 req/min or 3 concurrent jobs per key
503
No node available
All eligible compute nodes failed over; safe to retry
Quick integration
Connect in under a minute
import os, requests
r = requests.post(
"https://www.kilawattcloud.dev/api/public/v1/agent/exec",
headers={"Authorization": f"Bearer {os.environ['KILAWATT_API_KEY']}"},
json={"gpu_type": "nvidia-h100", "card_count": 8, "duration_seconds": 600},
)
print(r.json()["status"], r.json().get("billed_usd"))curl -X POST https://www.kilawattcloud.dev/api/public/v1/agent/exec \
-H "Authorization: Bearer $KILAWATT_API_KEY" \
-d '{"gpu_type":"nvidia-h100","card_count":8,"duration_seconds":600}'const res = await fetch(
"https://www.kilawattcloud.dev/api/public/v1/agent/exec",
{
method: "POST",
headers: { Authorization: `Bearer ${process.env.KILAWATT_API_KEY}` },
body: JSON.stringify({ gpu_type: "nvidia-h100", card_count: 8, duration_seconds: 600 }),
},
);npm i kilawatt-jsNote: kilawatt-js is the only first-party SDK. A dedicated Python SDK is coming soon; use the REST API directly (shown above) in the meantime.
Enterprise integration
Built for procurement-grade deployments
Full-cost pre-authorization
Jobs are paid in full up front. The API returns a 402 with the exact amount before any node is contacted.
Enforced spend safety
Per-key rate limits, concurrency ceilings and optional monthly spend caps, all enforced server-side.
Ephemeral workloads
Instances are metered every 15 minutes and automatically terminated at the provider when balance or the paid window ends.
$0 data egress
Move datasets and checkpoints out without egress fees on any plan.
Company registration
Los Angeles County Fictitious Business Name statement
Official public filing for Kilawatt Cloud, a registered fictitious business name of Right Recruit LLC. Sensitive addresses, signatures, and the filing barcode are redacted in the public copy.


