Getting started

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.