> For the complete documentation index, see [llms.txt](https://sweetsunnyflower.gitbook.io/soketi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sweetsunnyflower.gitbook.io/soketi/readme.md).

# soketi

![](/files/ndr3YY0b2SUI74jtBbHc)

#### Blazing fast speed :zap:

The server is built on top of [uWebSockets.js](https://github.com/uNetworking/uWebSockets.js) - a C application ported to Node.js. uWebSockets.js is demonstrated to perform at levels [*8.5x that of Fastify*](https://alexhultman.medium.com/serving-100k-requests-second-from-a-fanless-raspberry-pi-4-over-ethernet-fdd2c2e05a1e) and at least [*10x that of Socket.IO*](https://medium.com/swlh/100k-secure-websockets-with-raspberry-pi-4-1ba5d2127a23). ([*source*](https://github.com/uNetworking/uWebSockets.js))

#### Cheaper than most competitors 🤑

Compared with Pusher, you can achieve much more for less than one-third of the price.

For a $49 plan on Pusher, you get a limited amount of connections (500) and messages (30M).

With Soketi, for the price of an instance on Vultr or DigitalOcean ($5-$10), you get virtually unlimited connections, messages, and some more.

Soketi is capable to hold 500 active connections with high traffic on just **1 GB and 1 CPU machines** in the cloud. You can also [get free $100 on Vultr to try out soketi →](https://www.vultr.com/?ref=9032189-8H)

#### Ease of use :baby:

Whether you run your infrastructure in containers or monoliths, soketi got your back. There are multiple ways to [install](/soketi/getting-started/installation.md) and [configure](/soketi/getting-started/environment-variables.md) soketi, from single instances for development, to tens of active instances at scale with hundreds or thousands of active users.

#### Pusher Protocol v7 :satellite:

soketi implements the [Pusher Protocol v7](https://pusher.com/docs/channels/library_auth_reference/pusher-websockets-protocol#version-7-2017-11). Therefore, any Pusher-maintained or compatible client can connect to it, bringing a plug-and-play experience for existing applications that are already compatible with this protocol.

#### App-based access :closed\_lock\_with\_key:

You and your users can access the API and WebSockets through [Pusher-like apps](/soketi/app-management/introduction.md) which serve keys and secrets to connect or authenticate requests for broadcasting events or checking channels statuses. soketi also comes built-in with support for DynamoDB and SQL-based servers like Postgres.

#### Production-ready! :robot:

In addition to being a good companion during local development, soketi comes with the resiliency and speed required for demanding production applications.

#### Built-in monitoring :chart\_with\_upwards\_trend:

soketi just exposes the metrics to you, you just have to scrape them, whether it's a simple HTTP Client to pull the current usage, or you're using Prometheus to monitor all the connections.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sweetsunnyflower.gitbook.io/soketi/readme.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
