State of Rust support across the voice-agent stack as of 2026-07. No voice-agent framework has a Rust agent runtime. This is why the build is greenfield rather than an adoption.

The Gap

Every voice-agent framework is Python or Node — none has a Rust agent runtime

  • LiveKit — its own README lists Agents SDKs as Python and Node.js only. Rust appears solely under client SDKs, marked “Developer Preview, not production-ready.” There is no Rust agent runtime.
  • PipecatPython-only.

There is no framework to adopt. The choice is “write a Python pipeline” or “write the runtime.”

Combined with the 480ms orchestration residual measured on Pipecat+Twilio and Pipecat’s own 3–8s cold start and fixed 1s aggregation_timeout (Pipecat — cold start and a fixed 1s tax), the Python path is the thing being avoided, not a fallback to settle for.

flowcat — The One Candidate

https://github.com/AreevAI/flowcat — Apache-2.0

A native-Rust Pipecat-architecture runtime. On paper it is precisely the thing this project would otherwise build:

FeatureStatus
Native SIP/RTPyes
Telephony serializers9
STT providers20+
TTS providers29+
LLM providers23+
LicenseApache-2.0

Architecturally ideal, practically unproven — watch, don't bet

  • 74 stars, v0.1.0
  • Only the Gemini Live + Plivo path is verified end-to-end — which is neither the architecture nor the carrier this project uses. The Twilio + cascaded path is unexercised.
  • Its headline “p99 0.61ms” benchmark measures frame-routing overhead, not voice-to-voice latency. It says nothing about the 480ms residual, which lives in base64 framing, packetization, jitter buffering and VAD windowing — not in the frame router.

The “p99 0.61ms” number is worth flagging specifically because it looks like it addresses the exact problem this project cares about and does not. A frame router being fast is necessary and nowhere near sufficient.

Position: track the repo, mine it for architecture, do not depend on it. A v0.1.0 with 74 stars and one verified path is not a foundation for a multi-tenant product carrying other businesses’ phone numbers.

Where Rust Is Actually First-Class

ComponentRust support
Deepgram STT/TTSFirst-party deepgram crate v0.10.0 (2026-07-12) + a published Twilio↔Rust streaming tutorial. The only first-party Rust SDK in the entire field.
Twilio Media StreamsPlain WebSocket + JSON — no SDK needed, trivially Rust-native
OpenAI Realtime over SIPPlain WSS / WebRTC / SIP — the only managed option where Rust is first-class
Anthropic APIPlain HTTPS/SSE — trivially Rust-native

The stack was partly selected for this

Deepgram winning both the STT and TTS slots on independent merits and being the only vendor with a first-party Rust SDK is a meaningful compounding advantage — one vendor, one crate, one auth path, one connection-pooling strategy.

Verify: does the crate cover /v2/listen?

[unverified] — Flux is on /v2, while the rest of Deepgram is on /v1. If crate v0.10.0 is v1-only, the Flux WebSocket client has to be hand-rolled and the “first-party SDK” advantage shrinks to the TTS side. Open item #2 in voice-agent; cheap to check against the crate docs.

What This Means for the Build

Everything the pipeline needs to talk to is a WebSocket or an HTTP/SSE stream. There is no vendor SDK gap that blocks a Rust implementation — the gap is entirely at the orchestration layer, which is exactly the layer this project intends to own because that’s where the 480ms lives.

Concretely, the runtime has to own:

  • Twilio bidirectional WebSocket + base64 μ-law framing (one stream per call — hard constraint)
  • Deepgram Flux /v2/listen client with EagerEndOfTurn handling and speculative LLM dispatch/cancel
  • Pooled, pre-warmed Aura-2 TTS WebSockets — worth ~250ms, see TTS Connection Warmth Is Worth ~250ms
  • Per-conversational-state endpointing (the onNumberSeconds equivalent — [[voice-agent-managed-platform-control-surfaces-2026-07-21#the-onnumberseconds-gap|The onNumberSeconds Gap]])
  • Barge-in / interruption handling with tool-call result preservation (the correctness bug in LiveKit #3702)
  • Multi-tenant routing and per-tenant TTS connection budgeting against the concurrency cap

That list is the ~8 engineer-weeks assumed in the build-vs-buy break-even.

Sources

  • LiveKit README — Agents SDK language list, Rust client SDK developer-preview marking [vendor]
  • Pipecat repo/docs — Python-only [vendor]
  • https://github.com/AreevAI/flowcat — feature matrix, star count, v0.1.0, p99 benchmark [vendor/OSS self-reported]
  • Deepgram Rust crate v0.10.0 (2026-07-12) + Twilio↔Rust tutorial [vendor]
  • OpenAI Realtime over SIP docs [vendor]