# Vask > Pusher-compatible WebSocket infrastructure for modern apps. Vask is a low-latency Pusher-compatible WebSocket platform. Use existing Pusher-compatible server and client libraries and configure them with Vask credentials. ## Key facts - Protocol: Pusher-compatible WebSocket and HTTP broadcast API. - Default host: `wss.vask.dev` - Port: `443` - Scheme: `https`/`wss` - Channels: public, `private-` (auth required), `presence-` (auth + member info). - Auth: standard Pusher auth flow against your application endpoint. ## Docs - [Documentation](https://vask.dev/docs.md): Learn how to integrate Vask WebSockets into your application. - [Setup with agent](https://vask.dev/docs/agent.md): Install the Vask realtime skill or use a copy-paste prompt to integrate Vask into any Pusher-compatible app. - [Laravel Integration Guide](https://vask.dev/docs/laravel.md): Complete guide to integrating Vask WebSockets with Laravel. - [Channels](https://vask.dev/docs/channels.md): Public, private, presence, cache, and encrypted channel behavior in Vask. - [Events](https://vask.dev/docs/events.md): Server events, client events, batch events, recipient exclusion, and subscription counts. - [Authentication and Signatures](https://vask.dev/docs/authentication.md): Pusher-compatible channel authorization, user authentication, and HTTP API signing. - [User Authentication](https://vask.dev/docs/user-authentication.md): Use pusher:signin to identify a connection for user-scoped events, watchlists, and termination. - [WebSocket Protocol](https://vask.dev/docs/websocket-protocol.md): The Vask WebSocket endpoint, Pusher protocol frames, system events, and close codes. - [HTTP API Reference](https://vask.dev/docs/http-api.md): Pusher-compatible HTTP API endpoints on api.vask.dev using app_key paths. - [Cache Channels](https://vask.dev/docs/cache-channels.md): Replay the latest event to new subscribers and handle cache misses. - [Encrypted Channels](https://vask.dev/docs/encrypted-channels.md): End-to-end encrypted private channels with Pusher-compatible SDK crypto. - [Watchlist Events](https://vask.dev/docs/watchlist-events.md): Online and offline events for authenticated users in another user's watchlist. - [User Connections](https://vask.dev/docs/user-connections.md): Send events to authenticated users and terminate signed-in user connections. - [Subscription Count](https://vask.dev/docs/subscription-count.md): Live subscription count events, HTTP info responses, and webhook behavior. - [Webhooks](https://vask.dev/docs/webhooks.md): Pusher-compatible webhooks for channel and presence events, with signing and retry details. ## Alternatives - [WebSockets on Cloudflare: Your Three Options in 2026](https://vask.dev/alternatives/cloudflare-websockets): Three honest options for running WebSockets on Cloudflare: DIY with Workers and Durable Objects, Cloudflare Realtime SFU for media, or a managed Pusher-protocol service on the edge. Which one fits, when, and what each one costs. ## Comparisons - [PieSocket Alternative. Same Protocol. Multi-Region by Default.](https://vask.dev/compare/piesocket-vs-vask): Vask is a Pusher-protocol-compatible WebSocket service on Cloudflare's edge in 330+ cities. Same SDKs your PieSocket app already uses, Cloudflare-edge delivery, and broadcast-priced billing. - [PubNub Alternative. Pusher Protocol. Cloudflare's Edge.](https://vask.dev/compare/pubnub-vs-vask): Vask is a Pusher-protocol-compatible WebSocket service on Cloudflare's edge in 330+ cities. If you're using PubNub for channel-based broadcasts and presence, Vask gives you that surface at startup prices without enterprise contracts. - [Pusher Alternative. Same Protocol. Cloudflare's Edge.](https://vask.dev/compare/pusher-vs-vask): Vask is a Pusher-protocol-compatible WebSocket service on Cloudflare's edge in 330+ cities. Same SDKs, Vask credentials, broadcast-priced billing, and a migration path that usually starts with a host swap. - [Soketi Alternative. Same Protocol. Without the Pager.](https://vask.dev/compare/soketi-vs-vask): Vask is a hosted Pusher-protocol WebSocket service on Cloudflare's edge. Same wire protocol your Soketi clients already speak, multi-region by default, no infra to maintain. ## Migration guides - [Migrate from PieSocket to Vask (Laravel). Drop-in host swap.](https://vask.dev/migrate/piesocket-to-vask-laravel): Step-by-step Laravel migration from PieSocket to Vask. Same Pusher protocol, same laravel-echo client, same Broadcasting API. Change the host and use Vask credentials. - [Migrate from PubNub to Vask (Laravel). SDK Swap, Open Protocol.](https://vask.dev/migrate/pubnub-to-vask-laravel): Laravel cutover recipe for moving PubNub channels to Vask with Laravel Broadcasting, laravel-echo, and pusher-js. Includes feature mapping, channel mapping, verification, and rollback. - [Migrate from Pusher to Vask (Django). Drop-in for pusher-http-python.](https://vask.dev/migrate/pusher-to-vask-django): Step-by-step Django migration from Pusher Channels to Vask. Same Pusher protocol, same pusher-http-python package, same pusher-js client. Swap the host, the key, and the secret. Most teams ship the cutover in around fifteen minutes. - [Migrate from Pusher to Vask (Laravel). Drop-in host swap.](https://vask.dev/migrate/pusher-to-vask-laravel): Step-by-step Laravel migration from Pusher Channels to Vask. Same Pusher protocol, same laravel-echo client, same Broadcasting API. Change the host and use Vask credentials. - [Migrate from Pusher to Vask (Next.js). Same SDK, New Host.](https://vask.dev/migrate/pusher-to-vask-nextjs): Step-by-step Next.js migration from Pusher Channels to Vask. Same pusher-js client, same channel subscriptions, same event handlers. You change the host, the key, and the secret. Most teams ship the cutover in under fifteen minutes. - [Migrate from Pusher to Vask (Rails). Drop-in for pusher-http-ruby.](https://vask.dev/migrate/pusher-to-vask-rails): Step-by-step Rails migration from Pusher Channels to Vask. Same Pusher protocol, same pusher-http-ruby gem, same pusher-js client. Swap the host, the key, and the secret. Most teams ship the cutover in around fifteen minutes. - [Migrate from Soketi to Vask (Laravel). Drop-in host swap.](https://vask.dev/migrate/soketi-to-vask-laravel): Step-by-step Laravel migration from self-hosted Soketi to Vask. Same Pusher protocol, same laravel-echo client, same Broadcasting API. Change the endpoint and use Vask credentials. ## Learn - [Real-time WebSockets in Django: Channels, Pusher, or Vask](https://vask.dev/learn/websockets-in-django): Three honest options for shipping real-time in a Django app in 2026: Django Channels over ASGI, hosted Pusher, or hosted Pusher-protocol on Cloudflare's edge. Which one fits, when, and what each one costs. - [Real-time WebSockets in Laravel: Reverb, Pusher, or Vask](https://vask.dev/learn/websockets-in-laravel): Three honest options for shipping real-time in a Laravel app in 2026: first-party Reverb in-process, hosted Pusher, or hosted Pusher-protocol on Cloudflare's edge. Which one fits, when, and what each one costs. - [Real-time WebSockets in Next.js: Roll-your-own, Cloudflare, or Vask](https://vask.dev/learn/websockets-in-nextjs): Three honest options for shipping real-time in a Next.js app in 2026: roll-your-own WebSocket server, Cloudflare Durable Objects, or hosted Pusher-protocol on Cloudflare's edge. Which one fits, when, and what each one costs. - [Real-time WebSockets in Rails: ActionCable, Pusher, or Vask](https://vask.dev/learn/websockets-in-rails): Three honest options for shipping real-time in a Rails app in 2026: first-party ActionCable in-process, hosted Pusher, or hosted Pusher-protocol on Cloudflare's edge. Which one fits, when, and what each one costs. ## Glossary - [Broadcast (definition). The unit of work in a real-time channel.](https://vask.dev/glossary/broadcast): A broadcast is the single message a publisher sends to a channel, distinct from the per-subscriber copies that get delivered. Definition, why the distinction matters, and how it shapes pricing. - [Channel auth (definition). The signed handshake for private and presence channels.](https://vask.dev/glossary/channel-auth): Channel auth is the server-side callback that authorizes a client to subscribe to a private or presence channel. Definition, the HMAC handshake, and how it composes with application sessions. - [Concurrent connections (definition). The gauge that sets real-time tier.](https://vask.dev/glossary/concurrent-connections): Concurrent connections is the count of WebSockets currently open against a real-time service. Definition, how it is measured, and why it is the primary pricing dimension for most providers. - [Fan-out (definition). WebSocket broadcast delivery to N subscribers.](https://vask.dev/glossary/fan-out): Fan-out is the mechanism by which one broadcast on a WebSocket channel is delivered to every subscriber of that channel. Definition, examples, and why it matters for real-time pricing. - [Fan-out tax (definition). The per-subscriber multiplier on real-time bills.](https://vask.dev/glossary/fan-out-tax): Fan-out tax is the per-delivered-copy surcharge some real-time services attach to broadcasts. Definition, mechanism, and the workloads where it dominates the bill. - [Glossary. Real-time WebSocket terms.](https://vask.dev/glossary/index): Definitions for the terms Vask uses across compare, migrate, and learn pages. Fan-out, fan-out tax, Pusher protocol, channel types, broadcasts, and the WebSocket substrate. - [Presence channel (definition). Channels with member state and join/leave events.](https://vask.dev/glossary/presence-channel): A presence channel is a Pusher-protocol channel type that maintains a roster of subscribed members and emits join/leave events. Definition, semantics, and where it fits in real-time apps. - [Private channel (definition). Auth-gated Pusher-protocol channels.](https://vask.dev/glossary/private-channel): A private channel is a Pusher-protocol channel type that requires a server-side auth callback before a client can subscribe. Definition, the auth handshake, and when to use it. - [Public channel (definition). Open Pusher-protocol channels with no auth.](https://vask.dev/glossary/public-channel): A public channel is a Pusher-protocol channel type that any connected client can subscribe to without auth. Definition, where it fits, and when to use a private channel instead. - [Pusher protocol (definition). The open WebSocket channel protocol.](https://vask.dev/glossary/pusher-protocol): The Pusher protocol is an open, widely-implemented WebSocket protocol for channel subscriptions, events, and auth. Definition, frame shapes, and the SDK ecosystem that speaks it. - [WebSocket (definition). The bidirectional transport behind real-time apps.](https://vask.dev/glossary/websocket): A WebSocket is a persistent, bidirectional TCP-based connection between a client and a server, defined by RFC 6455. Definition, the handshake, and how it differs from HTTP polling. ## Full context - [Full AI docs context](https://vask.dev/llms-full.txt): all public docs concatenated for LLM ingestion.