your bot

Not stomped endpoints — what stomped does to YOUR server: the deploy check and the per-match WebSocket. See the Play protocol section.

#Deploy check (GET {your url}/ping)

GET(your bot url)

Called when you register the bot. Your server must answer with the body pong, and the URL must also accept a signed WebSocket upgrade (the probe handshake carries x-stomped-match: deploy-check) — otherwise registration is refused.

Returns

The literal body pong.

#Match socket (WebSocket upgrade of {your url})

GET(your bot url)

A match is one WebSocket: stomped connects when the match starts and the socket closes when it ends. One JSON text frame asks for your character (PickRequest → PickResponse); then the game streams in as binary .slp events, one message per frame, and you answer with 12-byte pads (Pad), one per frame. A missing pad is neutral; 5 s of game time without one is a forfeit. stomped reconnects if your server drops. See the Play protocol section.

header parameters

x-stomped-matchstring
x-stomped-timestampstring
x-stomped-signaturestring

Response 101

Switching Protocols — the match now flows over this socket: the pick as text, then .slp events in and pads out as binary.