S2 is the API for unlimited, durable, real-time streams.

Used by

Chief
Alai
SafeDep
Simplicity

Append with a POST, tail with a GET.

S2 is to moving data what object storage is to static data.

# Append a record
curl -X POST "https://my-basin.b.s2.dev/v1/streams/my-stream/records" \
  -H "Authorization: Bearer $S2_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"records": [{"body": "hello, world"}]}'

# Read from the start, then tail new records over SSE
curl -N "https://my-basin.b.s2.dev/v1/streams/my-stream/records?seq_num=0" \
  -H "Authorization: Bearer $S2_ACCESS_TOKEN" \
  -H "Accept: text/event-stream"
Performance

Get your own numbers with s2 bench.

s2 — zsh
End-to-end p99 latency, same region
<50ms
Write throughput per stream
100 MiBps
Storage per stream
Bottomless
Number of streams
Unlimited
How S2 delivers these numbers