FREE — NO CARD

Discord bot hosting.
It never sleeps.

discord.js or discord.py — upload your bot and it runs around the clock on our own hardware in Tokyo. The free plan never puts it to sleep, and your bot does not need a web server to prove it is alive.

$0 to start · no card · never sleeps

// WHY IT STAYS ONLINE

Built for bots,
not just websites.

Many free hosts put an app to sleep when nobody visits its web address. A bot has no visitors, so it quietly drops offline in Discord. Javer does not do that.

NEVER ASLEEP

Free apps are never stopped for being quiet. Your bot stays connected to Discord day and night, on the free plan too.

NO WEB SERVER NEEDED

Javer recognises a bot and runs it as a background worker. No keep-alive script, no dummy web page, no false “not responding” warnings.

RESTARTS ITSELF

If your bot crashes, it starts again on its own. If it keeps crashing, the panel says why, with the last line it printed.

KEEPS ITS DATA

A storage folder survives every update — for a SQLite file or JSON settings. Its path is in JAVER_STORAGE.

// HOW IT WORKS

Three steps.
Online in a minute.

The token goes in the panel, never in your code.

01

PUT YOUR TOKEN IN THE PANEL

Add an environment variable such as DISCORD_TOKEN. Your bot reads it when it starts.

02

UPLOAD YOUR BOT

A zip, a public Git link, a connected GitHub repo, or javer deploy from the command line.

03

IT’S ONLINE

Javer installs your dependencies, starts the bot, and shows it as a background worker. Logs are live.

// THE WHOLE BOT

Read the token
from the environment.

A minimal bot in each library. Deploy either one as it is.

DISCORD.JS — index.js

const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once('ready', () => console.log(`Logged in as ${client.user.tag}`));
client.login(process.env.DISCORD_TOKEN);

DISCORD.PY — main.py

import os
import discord

client = discord.Client(intents=discord.Intents.default())

@client.event
async def on_ready():
    print(f"Logged in as {client.user}")

client.run(os.environ["DISCORD_TOKEN"])
// WHICH FILE RUNS

Name it
what you already call it.

Javer looks for these, in this order, and runs the first it finds.

WHAT YOUR BOT HASWHAT JAVER DOES
A Procfile with worker: python bot.pyruns exactly that
package.json with a start script or mainruns that
server.js, app.js, index.js, main.js or bot.jsruns it with Node.js
app.py, main.py, server.py, wsgi.py, application.py or bot.pyinstalls requirements.txt, runs it

discord.js, discord.py, py-cord, nextcord, disnake, hikari, Eris, Oceanic and Discordeno are recognised as bots automatically. A bot that also serves a web page — a dashboard, or a keep-alive on Flask — is treated as a web app and watched like one, so you hear about it if that page stops answering.

// PRICING

Free for one bot.
Grow when you need to.

A small bot in a handful of servers is comfortable in 512 MB. Music bots, large guilds and image or audio processing want 1 GB or more.

FREE DEV

$0
  • 512 MB memory
  • 0.25 vCPU
  • 2 GB disk
  • 1 apps
START FREE

NANO

$2.99/mo
  • 1 GB memory
  • 1 vCPU
  • 20 GB disk
  • 3 apps
CHOOSE

PRO

$4.99/mo
  • 3 GB memory
  • 2 vCPU
  • 50 GB disk
  • 5 apps
CHOOSE

DATABASE

$8.99/mo
  • 6 GB memory
  • 4 vCPU
  • 100 GB disk
  • 8 apps
CHOOSE
// FAQ

Questions people ask
before they deploy a bot.

Straight answers. If something here is unclear, ask us and we will add it.

Is there free Discord bot hosting that doesn't sleep?

Yes. Javer Webhost's free plan runs one Discord bot around the clock on 512 MB of memory, 0.25 vCPU and 2 GB of disk, with no credit card and no expiry date. Free apps are never stopped for being idle.

Can I host a discord.py bot?

Yes. Include a requirements.txt that lists discord.py, and name the file main.py, bot.py or app.py, or add a Procfile with worker: python yourfile.py. Forks such as py-cord, nextcord and disnake work the same way.

Does my Discord bot need a web server or a keep-alive script?

No. Javer recognises a bot from its Procfile or its dependencies and runs it as a background worker, so it never expects a web page from it. Keep-alive scripts written for other hosts are not needed.

Where do I put my bot token?

In an environment variable you set in the panel, for example DISCORD_TOKEN. Your code reads process.env.DISCORD_TOKEN in Node.js or os.environ["DISCORD_TOKEN"] in Python. Never put a token in your code.

Will my bot's data survive an update?

Yes, if you save it in the storage folder. Its path is in the JAVER_STORAGE environment variable. Everything else is replaced each time you deploy.

What happens if my bot crashes?

It restarts on its own. If it keeps crashing, the panel says so and shows the last line it printed before stopping.

// TOKYO, JAPAN

Put your bot online
in a minute.