Frequently Asked Questions
Common questions about Soketify, compatibility, pricing, and migration.
Is Soketify really 100% Pusher compatible?
Yes. Soketify implements the full Pusher protocol, including the WebSocket connection protocol, the REST API for triggering events, and the channel authentication scheme. You use the official Pusher SDKs (pusher-js, pusher for Node.js, pusher-http-php, pusher-http-ruby, etc.) and they work out of the box.
The compatibility covers public channels, private channels, presence channels with member tracking, client events, webhooks, batch triggers, and the full REST API. If you have code that works with Pusher today, it will work with Soketify by changing only the host configuration.
Can I use my existing Pusher SDKs?
Absolutely. Soketify is designed to work with the official Pusher client and server libraries. You do not need to install any Soketify-specific packages. The same pusher-js you use today is the same one you will use with Soketify.
The supported SDKs include:
- JavaScript:
pusher-js(browser, React Native, Node.js) - Node.js server:
pusher - PHP:
pusher/pusher-php-server - Ruby:
pushergem - Python:
pusher - Go:
pusher-http-go - Java:
pusher-http-java - Swift / iOS:
pusher-websocket-swift - .NET:
PusherServer
What about Laravel Echo?
Laravel Echo works with Soketify with no code changes beyond the configuration. Since Echo uses pusher-js under the hood when configured with the Pusher broadcaster, you simply update the connection options to point to Soketify.
On the server side, update your config/broadcasting.php to use the Soketify host, and set your environment variables accordingly. Your channel routes in routes/channels.php, broadcast events, and listener logic all remain the same.
See the Migration Guide for the full Laravel Echo configuration.
How does pricing work?
Soketify uses predictable, usage-based pricing. Each plan includes a set number of concurrent connections and monthly messages. You pay a fixed monthly fee and know exactly what you are getting.
Unlike Pusher, there are no surprise overage charges. If you approach your plan limits, we notify you in advance so you can upgrade or optimize your usage. We believe in transparent pricing with no hidden fees.
Visit the Pricing page for current plans and details.
What are the event payload size limits?
Each plan includes a generous maximum event payload size, far beyond what most competitors offer. The Free plan supports up to 100 KB per event (10x Pusher's default 10 KB). Paid plans range from 256 KB (Indie) up to 4 MB (Scale-2).
Oversized messages are rejected at the protocol level before fan-out, so they never consume resources. Visit the Pricing page to see the exact payload limit for each plan.
What happens if I exceed my plan limits?
We never hard-stop your service. If you approach or exceed your connection or message limits, we notify you at 80%, 100%, and 130% thresholds via email and in the dashboard. Your application continues to work normally throughout.
There are no surprise overage charges and no automatic shutdowns. You get a grace period to upgrade or optimize your usage, and we work with you to find the right plan. This is a core Soketify principle: your users should never experience downtime because of a billing threshold.
How do I rotate API secrets?
You can rotate your App Secret from the Soketify Dashboard. The process supports a grace period where both the old and new secrets are accepted, giving you time to update your servers without downtime.
Here is the recommended rotation process:
- Go to your app settings and click Rotate Secret
- A new secret is generated. Both old and new secrets are valid during the grace period.
- Deploy the new secret to all your server environments.
- Confirm the rotation in the Dashboard to revoke the old secret.
See the Authentication guide for more details on secret management.
Is there message persistence or history?
Soketify is a real-time messaging infrastructure, not a message store. Messages are delivered to currently connected subscribers and are not persisted. If a client is not connected when a message is sent, it will not receive that message upon reconnection.
This is consistent with how Pusher works. If you need message history or persistence, you should store messages in your own database and provide an API for clients to fetch missed messages on reconnection.
A common pattern is:
- When your server triggers an event, also save the message to your database.
- When a client reconnects, fetch recent messages from your API.
- Then subscribe to the channel for real-time updates going forward.
What's the uptime SLA?
Soketify targets 99.99% uptime for all paid plans. Our infrastructure runs on globally distributed edge nodes to ensure low latency and high availability.
You can monitor real-time and historical uptime on our Status Page. We also provide incident notifications and scheduled maintenance alerts.
The Free plan does not include an SLA but still benefits from the same infrastructure and reliability.
Can I self-host Soketify?
Soketify is a managed SaaS product. If you need a self-hosted WebSocket server with Pusher compatibility, consider Soketi, the open-source server that Soketify is built on. Soketify provides the managed infrastructure, dashboard, analytics, and support on top of Soketi so you do not have to operate the servers yourself.
What regions are supported?
Soketify uses a global edge network to route WebSocket connections to the nearest point of presence. Unlike Pusher, you do not need to select a cluster or region. Connections are automatically routed to the best available node based on the client's location.
The REST API (api.soketify.com) is similarly distributed for low-latency access from any region.
Does Soketify support end-to-end encryption?
All connections to Soketify are encrypted in transit using TLS (WSS for WebSocket connections, HTTPS for API requests). This means data is encrypted between your clients/servers and the Soketify infrastructure.
If you need end-to-end encryption where Soketify cannot read the message payloads, you can implement application-level encryption by encrypting the event data on the sender side and decrypting it on the receiver side. The Pusher protocol supports encrypted channels for this purpose.
How do I get support?
Support options depend on your plan:
- Free plan: Community support via documentation and GitHub
- Pro plan: Email support with 24-hour response time
- Business plan: Priority email and chat support with 4-hour response time, plus dedicated onboarding
For all plans, start by checking this documentation and the Quick Start guide. Most integration questions are covered here.
Have more questions?
If your question is not answered here, contact us at support@soketify.com or check the full documentation.