Programmable trader voice · Regulated by design
Build your turret in weeks, not years
SOMVAD turns regulated voice into a programmable layer. Stand up trader turrets, command-and-control desks, and supervision consoles with APIs and SDKs, on infrastructure you control. Not a three-year hardware project.
For trading floors, hedge funds, and brokers that need to move at software speed without giving up recording, retention, and operational control.
From the API, in real time
Write code on the left. The desk reacts on the right.
A few SDK calls stand up a hoot, ring a counterparty, and drive live presence. It's the same surface your team (and your AI agents) build against.
London Rates desk
Illustrative of the real SDK surface. Run it for yourself in the quickstart.
The shift
Why this category is changing now
AI coding tools already generate apps, interfaces, and systems from natural language and structured prompts. Teams build from specs and reusable instructions. Against that, closed communications surfaces and long vendor change-cycles look slow. Regulated voice can now be built like software.
Build
AI agents can build the interface
Coding agents read your codebase, edit files, and work across tools. Point them at a clear contract and they build operator surfaces, not slideware.
Define
OpenAPI defines the contract
One machine-readable spec lets humans and agents understand the platform, generate clients, and write tests against the same source of truth.
Control
Your team still controls deployment
Sandbox, test, and production stay separate and explicit. Speed where you want it; control where you need it.
The problem class
Communications you can't change at the speed of your business
Proprietary surfaces. Slow change cycles. Reliance on managed changes. Weak developer leverage. A hard wall between a business-workflow idea and shipped software.
The incumbents do one thing well, and it still matters: regulated communications require recording, preservation, and operational control. We don't pretend that goes away.
SOMVAD sits between two worlds (the language of managed compliance, and the language of natural-language software generation) and makes regulated voice programmable without dropping the controls.
Controlled speed for serious communications software.
The platform
A UCaaS platform built for software teams
Programmable calling & routing
Voice sessions, line state, participants, and workflows exposed through APIs you can drive from any stack.
Custom operator surfaces
Build turret-style layouts, command views, or role-specific consoles. The UI is a client of the API, not the product.
Controlled environments
Separate sandbox, test, and production behaviour clearly. Promote a workflow when it's ready, not before.
Spec-driven delivery
OpenAPI, typed SDKs, and workflow recipes so humans and AI agents build against the same contract.
Built for the whole room
One platform, three points of view
For the CEO
Ship products, not procurement cycles
Reduce dependency on vendor roadmaps. Turn communications into a surface your team can differentiate on, and bring new desk experiences to market on your timeline.
For the CTO
A real platform, not a services wrapper
API-first, spec-driven, environment-aware. Typed SDKs, a versioned contract, and an architecture your engineers (and their agents) can actually build on.
For the CIO
Speed that respects the rules
Recording paths, retention, integration boundaries, observability, and measured rollout. Customisation without losing operational control.
Patterns, not a single feature
What teams build on SOMVAD
The turret is one interface pattern among several. The platform underneath is the same.
Trading floor
Custom turret replacement
Programmable line keys, multi-channel latch and push-to-talk audio, presence, and per-line sound routing, rendered from a layout your team controls.
Oversight
Supervisor & compliance console
Monitor, whisper, and barge into desk calls; live participant and line state; recording and event feeds wired to your downstream systems.
Workflow
Desk-specific voice workflow
Encode how a desk actually works (hoots, squawks, private wires, ring-downs, DDI lines) as configuration and code, not a vendor ticket.
Anywhere
Remote & hybrid trader voice
Browser-native calling over WebRTC with carrier (PSTN) ingress and egress, so the desk experience follows the trader off the floor.
Runs anywhere
Your cloud, any cloud, or your own datacenter
SOMVAD is built as native, CNCF-conformant Kubernetes workloads, so it runs unchanged on any compliant cluster. Managed cloud, your own cloud account, multi-cloud, or fully air-gapped on-prem for data sovereignty.
Everything is Terraform and Helm. GKE is wired today; because the workloads are standard Kubernetes objects, the same chart targets any conformant cluster, no bespoke per-cloud rewrite.
# GKE wired today $ make deploy gcp:europe-west2 # same Terraform + Helm pattern, per target $ make deploy azure:uksouth $ make deploy aws:eu-west-1 $ make deploy onprem:dc-1 # your Kubernetes
Commercial model
Three ways to adopt
Buy the finished product, embed voice and chat into your own app via the API, or run the whole platform yourself. Same engine underneath.
Use the product
Our multi-tenant SaaS. Onboard desks and traders, get turrets, recording, and PSTN. Priced per active user.
Build on the platform
Put voice and chat inside your own app. Metered and licensed on API calls, concurrent users, and call-minutes. White-label.
Run it yourself
Deploy in your own cloud account or on-prem for full data sovereignty. Capacity-based license, your infrastructure.
For developers
Everything the console does, it does through the API
Start with the quickstart, inspect the contract, test in the sandbox, and use workflow recipes to build custom operator experiences, alongside your AI coding agent.
# 1 · authenticate, then ring a colleague const client = new SomvadClient({ baseUrl, token }) const call = await client.calls.place({ callee_user_id }) # 2 · one socket for presence, chat, signals const events = new SomvadEvents({ baseUrl, token }).connect() events.on('signal', (s) => s.event === 'incoming_call' && ring(s)) # 3 · join → mixer placement → real WebRTC audio const a = await client.conferences.join(conferenceId) const phone = await connect(await client.browser.config(), a.ws_url)
Request platform access
Tell us what your team
wants to build
We'll show you how SOMVAD supports your workflow and developer model. No demo theatre, no scheduling maze.