Since October 20, 2026, Vercel Functions serve WebSocket connections on every plan, with Express, Hono, Socket.IO, Bun, FastAPI and Next.js. Connections close at the function's maximum duration (300 seconds on Hobby, up to 800 on Pro), each is pinned to one instance, and memory is billed while any connection is open. What that means for your design and your bill.
Vercel announced general availability of WebSockets in Vercel Functions on October 20, 2026, after a public beta that began in June. It says it has carried 300 million connections since the beta and handles about 15 million a day. For teams already on Vercel, it removes the usual reason to stand up a separate realtime service. It doesn't remove the work that makes realtime hard.
A connection starts as an ordinary HTTP GET with an Upgrade header, so routing middleware, rewrites, Firewall rules and rate limits apply to it like any request. Rate limits count upgrade requests, not messages.
Each connection is pinned to the one function instance that accepted it. With Fluid compute, which WebSockets require, one instance holds many connections.
Standard libraries work: ws, Socket.IO (WebSocket transport only), Express, Hono, h3, Nitro and Nuxt, Bun.serve, and FastAPI, Django Channels or Flask-Sock in Python.
Next.js has no API for upgrades, so Vercel provides upgradeWebSocket() in @vercel/functions 3.10.0 and later for route handlers.
From Vercel's WebSockets and Functions limits documentation, November 2026.
A short call on what you're building usually settles whether it belongs on Vercel, on AWS, with a managed service, or doesn't need a live connection at all.
WebSockets use the normal Fluid compute pricing: Active CPU only while code is processing a message, provisioned memory for as long as an instance has work in flight, an invocation per connection, and data transfer. An open connection counts as work in flight, so an instance holding even one idle socket keeps billing memory. In Washington, D.C. (iad1), memory is $0.0106 per GB-hour and Active CPU $0.128 per hour; invocations are $0.60 per million on Pro.
Our arithmetic from Vercel's published iad1 rates. Vercel doesn't publish how many connections share an instance, which makes memory the line to measure.
Client reconnects with backoff, resubscription, and catch-up of anything missed while disconnected.
A durable store for messages and state, so a reconnect to a different instance or deployment loses nothing.
Authorization checked on upgrade and again for actions that matter, since a connection can outlive a revoked session.
Message handling that tolerates two deployments running at once.
Dashboards for open connections, reconnect rate and message rate, and a load test of a reconnect storm after a deploy.
We'll go through your design and expected traffic with you and tell you where it will hurt first. Thirty minutes, free.
Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.
Book a free 30-minute call about it. Bring your setup and your bill; you'll leave knowing what we'd do first and roughly what it costs, whether or not you hire us.
Or keep reading
Realtime Pricing Compared: Vercel WebSockets, API Gateway WebSocket APIs and AppSync Events
The same workload priced three ways: 1,000 users connected through the workday, 48 million messages a month. On AWS, API Gateway and AppSync Events charge about $1 per million messages and differ mostly in connection minutes and in who does the fan-out. Vercel charges almost nothing per message but bills memory for every instance holding connections. Where each one wins.
Read
Next.js WebSockets on Vercel: upgradeWebSocket, Redis Fan-Out, and Surviving Deploys
Next.js has no WebSocket API, so Vercel added upgradeWebSocket() to @vercel/functions 3.10.0. Getting an echo server running takes minutes; a chat or presence feature that works across instances and deploys needs four more pieces. A build order for a production-ready Next.js realtime feature on Vercel.
Read
As of November 2, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.