
Waterline
Proof of delivered compute. Verifies a rented GPU is the chip you paid for.
Demo
About
GPU compute is increasingly financed, traded and lent against, but delivery is still self-reported. Waterline lets a renter verify it from inside the rented machine. One command runs a timed INT8 matrix challenge on the GPU's tensor cores. The GPU commits its answers, the API re-computes a random sample on a CPU, and a timing probe counts the cores to identify the chip. Result: PASS, DEGRADED (right chip, below rated speed) or FAIL (wrong chip or wrong answers). Each result is written to the GPU's own ENS name and rolled up to its provider. Failures require a World ID-verified person, and two independent reports, before a GPU is marked failed. Agents query the history through MultiBaas to avoid bad GPUs and providers. Providers can't write scores.
How it's made
Profiler (Python, CuPy, PyTorch): loaded into memory on the pod, nothing installed. Generates seeded 16k x 16k INT8 matrices bit-identical to the CPU reference, commits a Merkle root of per-row fingerprints before the sample is chosen, and counts SMs with a staircase kernel. API (FastAPI on Vercel, Redis): issues seeds, enforces the deadline, re-grades sampled rows and writes results onchain. ENSv2: our Marks contract on Sepolia is the wildcard resolver for waterline.eth, so every GPU and check resolves without registration. GPU nodes derive from provider nodes, giving per-provider roll-ups. Enhanced Access Control restricts score writes to our API. World ID for Agents: device-code approval verified server-side; per-GPU and per-provider voter IDs enforce one voice per person. A revocable mandate lets a person's agents report. Curvegrid MultiBaas: builds transactions we sign locally, indexes events and fires a webhook. Its event queries replace a backend database and drive the agent's GPU selection. 169 Python tests, Foundry contract tests, including against ENSv2 on a Sepolia fork.