QuadShadow Quickstart
Status: private alpha. Endpoints are provisioned per design partner — there is no self-serve signup yet. Access is currently invite-only; see Design partners.
QuadShadow runs your robot's policy (VLA) on our GPUs and streams action chunks back under your control-loop deadline. You send observations; you get actions. Nothing heavier than a NIC runs on the robot.
1. What you need
- A robot (or sim) with a camera + proprioceptive state, and network egress (wired Ethernet or good Wi-Fi; we'll measure your RTT during onboarding).
- A policy we serve (see models.md) — or your own fine-tuned checkpoint (safetensors), which we deploy for you during onboarding.
- The endpoint host/port + key we issue you.
2. Connect
Alpha transport is a persistent TCP connection with length-prefixed frames (see protocol.md). A minimal Python client is ~30 lines:
import socket, struct
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) # do not skip this
def infer(obs_bytes: bytes) -> tuple[float, bytes]:
"""Send one observation, get one action chunk back."""
s.sendall(struct.pack(">I", len(obs_bytes)) + obs_bytes)
hdr = s.recv(12, socket.MSG_WAITALL)
server_ms = struct.unpack(">d", hdr[:8])[0]
n = struct.unpack(">I", hdr[8:12])[0]
buf = b""
while len(buf) < n:
buf += s.recv(min(65536, n - len(buf)))
return server_ms, buf
3. The control loop
VLA policies emit action chunks (e.g. SmolVLA: 50 actions per inference). Your robot consumes actions from the current chunk while the next request is in flight — so the SLO that matters is: chunk latency < (actions remaining × control period).
Rule of thumb at 30 Hz control with 50-action chunks: you have ~1.6 s of runway per chunk; our measured chunk latency is 23–49 ms depending on tier. Request the next chunk when ~80% of the current one is consumed and you will never starve.
4. Measure before you trust
During onboarding we run the same latency harness we published in our proof doc against your network path and report p50/p95 end-to-end, split into inference vs. network. If your site's RTT pushes p95 past your deadline, we tell you — before you put it on a robot.
Reference numbers (measured Aug 2026)
| Tier | Chunk latency p50 | p95 | Notes |
|---|---|---|---|
| H100, full quality (10 denoise steps) | 22.7 ms | 22.8 ms | SmolVLA-450M, torch.compile'd sampling path |
| H100, reduced steps (1) | 12.5 ms | — | quality tradeoff; A/B on your task first |
| L4, full quality | 48.3 ms | — | budget tier; fine for ≤10 Hz replan |
| Network + serialization (same-region VPC) | ~1.0 ms | — | 25 KB up / 1.4 KB down per cycle |
Full methodology, environment, and raw logs are shared with design partners.