Developers

API keys

Spend the pool from your own code. Submit a job spec — GPU, template, hours — and get back an endpoint. Any wallet that has launched a token can create a key.

Pool available
$1.5K
Provisionable GPUs
6

Connect to manage keys

Use the wallet you launched with. Keys belong to that address.

Quickstart

POST a job spec to the base URL with your key. The GPU is the catalogue id of a GPU a token backs; the template is one of vllm, jupyter, comfyui or finetune.

Requestcurl
curl https://cudapad.com/api/v1/jobs \
  -H "Authorization: Bearer cudapad_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"gpu":"nvidia/h100-sxm-80gb","template":"vllm","hours":1,"env":{"MODEL":"meta-llama/Llama-3.3-70B-Instruct"}}'
Nodetypescript
const res = await fetch("https://cudapad.com/api/v1/jobs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.CUDAPAD_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    gpu: "nvidia/h100-sxm-80gb",
    template: "vllm",
    hours: 1,
    env: { MODEL: "meta-llama/Llama-3.3-70B-Instruct" },
  }),
});

const job = await res.json(); // { id, status, endpoint, costMicroUsd }
Pythonpython
import os, requests

res = requests.post(
    "https://cudapad.com/api/v1/jobs",
    headers={"Authorization": f"Bearer {os.environ['CUDAPAD_API_KEY']}"},
    json={
        "gpu": "nvidia/h100-sxm-80gb",
        "template": "vllm",
        "hours": 1,
        "env": {"MODEL": "meta-llama/Llama-3.3-70B-Instruct"},
    },
)

job = res.json()  # {"id": ..., "status": "running", "endpoint": ..., "costMicroUsd": ...}

Response headers

Every response reports what the call cost and what is left, so a client never needs a second request to find out.

x-compute-charged-micro-usd
Cost reserved for this job, in millionths of a dollar. Settled per GPU-second on completion.
x-compute-remaining-micro-usd
Pool balance after the call.