RS1
Zero-persistence relay.
By architecture.
WebSocket relay with no disk, no database, and no Redis in the hot path. Your payloads are forwarded — never archived.
How it works
01
Client connects
Your app authenticates with an API key. The relay checks quota against your tier limits — in memory, no database query.
02
Messages relay
Publish to a room. Subscribers receive the event. The payload is forwarded immediately and never written to disk or database.
03
Period resets
At billing cycle end, aggregate counts (sessions, bytes — never content) are forwarded to the portal ledger. Relay counters reset to zero.
Zero persistence proof
ESLint rule
no-restricted-imports bans fs, @prisma/client, ioredis in the relay workspace. CI fails on violation.
strace CI
GitHub Actions runs strace on every push to apps/relay/. Fails if write syscalls are detected.
readonlyRootFilesystem
ECS Fargate container definition sets readonlyRootFilesystem: true. OS-level enforcement.
Separate binary
The relay process has no DATABASE_URL, no Prisma schema, no Chroma connection. No path to persistence.
Pricing
| Tier | Price | Sessions/mo | Concurrent | |
|---|---|---|---|---|
| Developer | Free | 1,000 | 100 | Start free → |
| Startup | $49/mo | 25,000 | 500 | Get started → |
| Growth | Contact | 150,000 | 2,500 | Contact us → |
| Scale | Contact | Unlimited | 10,000 | Contact us → |
| Enterprise | Custom | Dedicated | SLA | Talk to us → |
SDK
Install the relay client from npm.
1npm install @flomisma/relay-client▋1import { RelayClient } from '@flomisma/relay-client'23const relay = new RelayClient({4 url: process.env.NEXT_PUBLIC_RELAY_URL!,5 apiKey: process.env.RELAY_API_KEY!,6})78await relay.connect()9relay.subscribe('orders')10relay.publish('orders', 'tick', { price: 42 })▋