Skip to main content
CENTRIFUGOPRO

Unlock the full power of Centrifugo

Next-level realtime messaging and state sync
for your organization
Rotating Image

What is Centrifugo PRO?

Centrifugal Labs offers a PRO version of Centrifugo featuring unique capabilities, additional APIs, enhanced performance. These improvements are the result of real-world experience managing large-scale concurrent connections in production environments. You gain more features, greater scalability and performance, improved observability, prioritized support for the business.

Powerful, cost-effective, complete

Centrifugo PRO allows you to monitor activity down to individual channels or connections. Scalability and performance improvements can dramatically increase throughput and optimize resource usage of the realtime application. You also get support for sending push notifications making the client-facing realtime messaging system complete.

OSS vs PRO

Compare editions

Everything from open-source Centrifugo, plus advanced features for scale, performance, security, observability, push notifications, and more in PRO.

OSSPRO
Core MessagingA solid real-time foundation available in both editions
PUB/SUB, channels, namespaces
WebSocket, SSE, HTTP-streaming, WebTransport, GRPC transports
WebSocket bidirectional emulation
Stream subscriptions with history, recovery, cache mode
Map subscriptions for state sync
Map subscriptions enhancements
In-memory cache layer, PostgreSQL read replicas and broker fan-out, Redis Cluster support with sharded PUB/SUB, and per-namespace map brokers for using different backends per channel namespace. Learn more →
Shared poll subscriptions
Shared poll enhancements
Instant initial data via cached items, delta compression, notification fast path for near-instant updates, adaptive backpressure, and a standalone relay server to centralize backend polling. Learn more →
Presence & join/leave events
Delta compression, client-side publication filtering by tags
Server-side publication tags filter
Server-controlled per-subscriber publication filtering via tags. Set by your backend through subscribe proxy or JWT — the client cannot override it. Works for stream and map subscriptions, enabling fine-grained access control within channels. Learn more →
Proxy events (connect, subscribe, publish, RPC)
Official real-time SDKs for popular languages
Security, auth, permissionsProtect your platform, control access at every level
JWT & proxy authentication
Channel capabilities & CEL expressions
Fine-grained permissions on a per-connection or per-subscription basis. Control who can publish, subscribe, or access history — configured via JWT claims or connect/subscribe proxy. Learn more →
Channel patterns
Define channel configuration using route-like patterns (e.g. /users/:name) similar to URL routing in web frameworks. Build familiar HTTP-style channel models without listing every namespace. Learn more →
Operation rate limiting
Limit the number of subscribe, publish, history, presence, RPC and other operations per connection using a token bucket algorithm. Automatically disconnect clients that generate too many errors. Learn more →
User blocking API
Block users at the Centrifugo level — blocked users are immediately disconnected and cannot reconnect. Supports optional persistence to Redis or database so blocks survive restarts. Learn more →
Token revocation & invalidation
Revoke individual tokens by JTI claim or invalidate all tokens issued before a specific time using IAT claim. Revocation info is kept in-memory with periodic sync, making checks fast. Learn more →
Multiple JWKS providers
Automatically extract and map JWT claims from third-party identity providers into Centrifugo connection metadata. Useful when working with providers that issue non-customizable tokens. Learn more →
Client labels
Attach a typed string map to each connection from JWT or the connect proxy. Use labels to segment Prometheus metrics, filter the server API (disconnect/refresh/subscribe/unsubscribe) by region/tier/version including fleet-wide, gate channels via CEL, segment ClickHouse analytics, and pass through to backend proxy requests. Learn more →
Server API JWKS authentication
Protect HTTP and GRPC server APIs with JWKS-based JWT authentication. Use tokens from your identity provider (Keycloak, Auth0, etc.) instead of static API keys. Learn more →
Scalability and performanceLower costs and handle more with fewer resources
Scale with Redis, Redis Cluster and NATS
Per-namespace engines
Assign different broker backends to different namespaces to scale load and match each feature to the right backend — PostgreSQL for transactional channels, Redis for high-throughput channels, separate Redis instances per namespace to distribute load. Learn more →
Singleflight & shared position sync
Merge identical parallel requests to history, presence, or presence stats into one real network request. Particularly effective during massive reconnect scenarios. Learn more →
Performance optimizations
Batch periodic client events (ping, presence updates) to reduce CPU usage and system calls. Reported over 2x CPU reduction for idle connections in benchmarks. Learn more →
Sharded PUB/SUB for Redis Cluster
Use Redis 7.0+ sharded PUB/SUB to distribute channel load across cluster nodes instead of broadcasting to all. Includes node-grouped mode that reduces connection count from num_partitions to num_redis_nodes. Works for both Engine and Map Broker. Learn more →
Bandwidth optimizations
Delta compression for at-most-once delivery, channel compaction, and client publish debouncing to coalesce rapid updates. Reduces bandwidth and broker load. Learn more →
Advanced message write and batching
Configure write_delay to collect messages before sending, trading delivery latency for reduced CPU. Can cut overall cluster CPU usage by half for high message rate scenarios. Learn more →
Fast Custom Controllers (Redis, Nats)
Isolate cross-node control traffic from channel data using a dedicated controller. Supports Redis, Nats in addition to PostgreSQL from the OSS version Learn more →
ObservabilityFull visibility into every connection, channel, and message
Prometheus metrics, admin UI
ClickHouse analytics (current stats, trends, per-connection resolution)
Export publications, connections, subscriptions, operations, and push notification events to ClickHouse. Run fast analytical queries with effective data retention policies. Trends and connection flight recorder in admin web UI. Learn more →
Real-time channel & user tracing
Attach to any channel or user ID in real time to see all messages and events as they happen. Available in admin UI or via API. Traces can be saved to files for later analysis. Learn more →
Connection & channel snapshots
Inspect current state of connections and channels across the cluster. See who is connected, what they are subscribed to, and channel-level stats. Learn more →
SSO/OIDC for admin UI
Authenticate admin UI users via any OIDC-compatible identity provider (Okta, KeyCloak, Google, Azure, etc.) with PKCE support. Checks user permissions on every request. Learn more →
Configuration viewer
Effective configuration is visible in admin web UI Learn more →
Enhanced metrics
Channel namespace resolution and client SDK name breakdown in Prometheus metrics, Prometheus to OTEL metrics bridge, per-node CPU and RSS stats in admin UI, and more. Learn more →
EngagementReach users even when they are offline
Push notifications (FCM, APNs, HMS, WebPush)
Send push notifications to Android, iOS, and web via FCM, APNs, HMS and WebPush (VAPID). Supports timezone-aware delivery, localization, and templating. Learn more →
Device token management & topics
Built-in device token storage in PostgreSQL with topic-based subscriptions and Redis-based worker queues. Centrifugo handles the full push notification lifecycle. Learn more →
Additional APIs and eventsExtended server-side APIs and channel events for deeper integration
Additional event hooks
Channel state events (occupied/vacated webhooks when subscribers join or leave) and cache empty events (notify backend on cache misses for lazy state population). Learn more →
User status API
Clients call update_user_status RPC on meaningful actions, storing last active time in Redis. Query status for multiple users at once — useful for showing online indicators in chat apps. Learn more →
Connections API
Retrieve all active user sessions by user ID or expression without requiring presence. Attach JSON metadata to connections for server-side inspection and session management. Learn more →
SupportGet help when you need it
Community support
Prioritized support
Pricing
from€3,500/ year
flat — scaling with company size

One flat license — no per-connection fees, no per-message metering, no usage tiers. Centrifugo PRO is self-hosted, so it runs entirely on your own infrastructure and your messages and user data never leave it.

The license unlocks every PRO feature without limits across your organization's projects and includes one year of prioritized support and updates.

Available to corporate and business customers. Share your use case and company details to get a quote:

FAQ

Licensing questions

PRO includes everything in open-source Centrifugo and adds features for scale, performance, security, observability and push notifications. The comparison above lists them side by side.
Yes. Started without a license key, Centrifugo PRO runs in sandbox mode with the full feature set — capped at 20 concurrent connections, 2 nodes and 5 API requests per second. It's meant for development and evaluation, not production. Learn more →
One flat, company-wide license key. It runs Centrifugo PRO with no limits on operations, connections or nodes, across many projects within your organization — including SaaS products you build on top of it. The key includes one year of prioritized support and updates. Licenses are available to companies and businesses only, not to individual consumers. The exact terms are in the Centrifugo PRO license agreement.
No. Pricing is flat and based on your company size — never on connections, nodes, or message volume, so costs track your company's growth rather than your traffic.
One key covers all your projects as long as Centrifugo PRO stays within your own company's infrastructure — including SaaS products you run. Installing it on a customer's own premises isn't part of the standard license, but it can be arranged when added explicitly to the agreement — reach out to discuss. Reselling the key or offering Centrifugo PRO itself as a hosted service are not permitted.
Centrifugo PRO keeps running forever, with no limits, after the key expires. A new key is only needed if you want to upgrade to a version of Centrifugo PRO released after your key's expiration date.
Centrifugo PRO is self-hosted and runs entirely on your own infrastructure. Messages and connection data stay inside your systems.
Smaller licenses can be paid online through Lemon Squeezy (part of Stripe) with a range of payment methods; larger ones via a signed agreement and bank transfer. A standard due-diligence (KYC) check applies before moving forward.
By default the purchase is covered by the standard Centrifugo PRO license agreement. For companies that need it, it can instead go through an individual agreement based on our MSA template. Custom legal adjustments are possible and may affect the final price.
Direct help with configuration, scaling and troubleshooting from the team that builds Centrifugo, along with updates throughout your license term.