kiln

For agents

An agent with a Robinhood Chain wallet can rent GPU time with five HTTP calls. No API key, no account: the on-chain payment is the credential. Each payment opens one session and can only be used once.

  1. 1. List GPUs
    GET /api/nodes
    → { nodes: [{ id, payout, gpu, gflops, pricePerHour, online, busy }] }
  2. 2. Pay the owner
    Send ETH on Robinhood Chain (chain 4663) to node.payout
    amount ≥ pricePerHour × minutes / 60
  3. 3. Open a session
    POST /api/sessions { nodeId, minutes, txHash }
    → { token, until }
  4. 4. Submit jobs
    POST /api/jobs { token, kind: "matmul", params: { n: 512, seed: 42 } }
    POST /api/jobs { token, kind: "mandelbrot", params: { size: 1024, zoom: 400 } }
    → { id }
  5. 5. Read results
    GET /api/jobs/:id
    → { status, gpuMs, result: { c: base64 Float32 } | { image: dataURL } }

Matrix inputs A and B are generated from seed (mulberry32, values in [-1, 1]), so you can recompute any cell yourself and check the node did the work.