- Vercel made WebSocket support, meaning permanent live connections, generally available in its Functions.
- Connections follow the same limits and pricing as other Function invocations and need Fluid compute.
- App state has to live outside the function.
Vercel announced on 20 October 2026 that WebSocket support in Vercel Functions is generally available. In short: you can build a chat, or AI answers shown live, into your app without renting and maintaining a separate server. The feature had been in a public beta since late June. Vercel says its content delivery network (CDN) has served 300 million WebSocket connections since the beta began and now serves 15 million per day.
How it works
According to the documentation a single connection is pinned to one function instance, and Fluid compute lets one instance handle many connections at once. A connection closes when the function reaches its maximum duration, so the client side of the app should know how to reconnect. Durable state, chat rooms and message broadcasting (pub/sub) have to live in an external data store, because the next connection may reach a different instance.
Costs and tools
Connections follow the same limits and pricing as other function invocations. The documentation covers libraries such as ws and Socket.IO and integrations with Bun, Nitro, Express, Hono and Python. In Next.js you need the upgradeWebSocket function from the @vercel/functions package.
How to read it
For the maker of a small AI app this means less infrastructure to look after: a chat or streamed answers run in the same place as the rest of the site. You do pay for every invocation, though, and you must remember to reconnect and to keep state outside the function. I show the basics of such a chat in the article Vercel AI SDK: your first chat and you will find the whole subject in the JavaScript and Vercel AI SDK hub.

