Matrix homeserver
Synapse on Postgres, patched weekly, with federation, media retention and .well-known delegation handled for you.
Managed Matrix · WebRTC
Voxweave hosts Synapse, LiveKit and coturn for teams that want encrypted messaging and group calls without operating the stack themselves. You bring a domain and an identity provider; we keep the media flowing.
One tenant, one bill, one place to look when a call drops. We run the pieces; you keep the domain and the data.
Synapse on Postgres, patched weekly, with federation, media retention and .well-known delegation handled for you.
Native Matrix calls through LiveKit: rooms, screen share and recording. Media stays end-to-end encrypted; the SFU only forwards frames.
coturn with short-lived credentials, TCP/443 fallback and per-tenant quotas, so restrictive networks still get a relay path.
Telegram, WhatsApp, Slack and IRC bridges run as isolated appservices, with per-bridge rate limits and a kill switch.
OIDC or SAML, SCIM user sync, session revocation and audit-log export to your SIEM. No separate directory to keep in sync.
Frankfurt or Helsinki, encrypted daily backups, configurable retention and a signed DPA before your first message is stored.
Standard Matrix and WebRTC components, wired the way the specs expect. Any Matrix client works; nothing proprietary sits in the path.
Point your domain at us and keep using Element, FluffyChat or any other Matrix client. These are the actual shapes of the files we manage.
{
"m.homeserver": {
"base_url": "https://matrix.acme.eu"
},
"org.matrix.msc4143.rtc_foci": [
{
"type": "livekit",
"livekit_service_url": "https://rtc.acme.eu"
}
]
}
services:
synapse:
image: ghcr.io/element-hq/synapse:latest
volumes: ["./synapse:/data"]
environment:
SYNAPSE_SERVER_NAME: matrix.acme.eu
SYNAPSE_REPORT_STATS: "no"
livekit:
image: livekit/livekit-server:latest
network_mode: host
command: --config /etc/livekit.yaml
coturn:
image: coturn/coturn:latest
network_mode: host
command: -c /etc/coturn/turnserver.conf
port: 7880
rtc:
tcp_port: 7881
udp_port: 7882
use_external_ip: true
turn:
enabled: true
domain: turn.acme.eu
tls_port: 5349
udp_port: 3478
keys:
livekit: ${LIVEKIT_SECRET}
realm=turn.acme.eu
use-auth-secret
static-auth-secret=${TURN_SECRET}
fingerprint
lt-cred-mech
min-port=49160
max-port=49200
no-multicast-peers
no-cli
Every plan includes TLS, backups, monitoring and the full call stack. Upgrade when the user count does, not when a feature is paywalled.
€49 / month
For a single team getting off a shared workspace.
Most popular
€149 / month
For organisations that need SSO and bridges.
Custom
For regulated teams and large federations.
Prices exclude VAT. Annual billing saves 20%. Migration from your current homeserver is included in every plan.
We can see that a call happened and how long it lasted. We cannot see what was said, and neither can the SFU.
No. Any Matrix client works: Element, FluffyChat, SchildiChat, Element X. You point the client at your domain; the homeserver address comes from .well-known.
Yes. Audio and video are encrypted in the client and decrypted in the other participants' clients. The SFU forwards encrypted frames, and TURN only relays ciphertext. The trade-off is the same one every E2EE conference has: server-side recording and PSTN dial-in are not available.
Federation is on by default. You can restrict it to an allowlist, disable it entirely, or keep it open with per-room moderation. Federation traffic uses standard Matrix server-server TLS on 443.
You export users, rooms and media through the Synapse admin API and keep the domain. There is no proprietary format and no exit fee. We schedule deletion 30 days after the last export.
Frankfurt or Helsinki, chosen at provisioning time. Backups are encrypted with a key we do not store next to the data, and retention is configurable per tenant.
Enterprise tenants can run the same topology in their own cloud account with our deployment tooling and support contract. Starter and Team are hosted only.