Bun
WhatsApp bots on Bun.
The least-trodden combination on this site. What changes under Bun, what 256 MB will carry, and the warning that applies on every runtime.
We will host it. We do not recommend it.
Automating a personal WhatsApp account is not something WhatsApp supports. The tools that do it work by pretending to be the official app, they break whenever the protocol changes, and using one can get your number banned — sometimes permanently, sometimes without warning, and always without an appeal you can rely on.
That risk is yours, not ours. We accept no responsibility for a number, an account, or a set of contacts lost while running a bot hosted here, and nothing on this page should be read as advice that it is safe to do. If losing the number would be a problem, do not use one you care about.
If your use is commercial, the officially supported business API exists precisely so you do not have to take that risk, and a bot that receives its messages through official channels has no ban exposure of this kind at all.
Deploying
Getting it running
- 1
Upload your project
Drag the folder in or push it over SFTP, and leave node_modules behind. It is installed on deploy, and the disk it would take is disk you will want for session state.
- 2
Pin everything
bun install reads your package.json before the bot starts. Pin exact versions: the tools in this space are written and tested on Node, and a minor release is more likely to break under Bun than anywhere else.
- 3
Point us at your entry file
index.ts runs uncompiled. Secrets go in environment variables, and the session directory goes inside your project folder, where it survives a restart.
Memory
What actually fits in 256 MB
The baseline is not the problem. A socket-based client that holds one connection open and reacts to messages fits in 256 MB on Bun, as it does on Node.
The problem, as on every runtime, is anything that starts a browser. If a dependency downloads a browser engine during install, the deploy fills your disk and the process never starts, and no runtime makes that fit.
Media comes next. An incoming video read wholly into memory costs its full size at once. Write it to disk, work on it there, and delete it afterwards: 512 MB of disk absorbs what 256 MB of memory cannot.
FAQ
Questions
Is Bun a good idea for a WhatsApp bot?
It is the riskiest of the three. These tools are unofficial, fragile, and developed against Node, and a runtime they are not tested on is one more thing that can break. If you choose Bun, choose it knowing Node.js is the first thing to try when something fails.
Will my session survive a restart?
If it is written to a directory inside your project, yes. Files persist across restarts, crashes and redeploys, so a bot that saves its credentials reconnects on its own. One that keeps them in memory asks you to pair again every time.
Does Bun change the ban risk?
No. The risk comes from automating an account at all, and it is identical on Bun, Node.js and Python.
Is a banned account covered?
No. We run the process; the account and the number are yours, and we accept no responsibility for losing either. The terms of service say the same.
More on WhatsApp bots
Hosting something else?
Control it from code