Vespo for Developers

Take your game's chat
beyond the game.

Put chat into your own Roblox game. Build a mini app that runs inside Vespo. Both are free, and you get a key the moment you register.

Free · key issued instantly · limits grow with your player count

Read the guide first (no sign-in needed):Chat API·Mini apps

Chat API

Make your game's chat reach beyond the game. People who have closed the game still get a notification on their phone.

Mini apps

A small app that opens inside a Vespo chat. You find out who opened it, safely.

What you can do

Chat API

  • Your game's chat keeps going outside the game

    Messages sent in the game also appear in the Vespo app, and people can reply from there. ⚠️ What is written in the app does not appear inside the game (Roblox's rules do not allow text written outside to be brought in). The only things that flow back to the game are leaving, renaming, and the icon background colour.

    POST /v1/messages · GET /v1/room-ops

  • Phones get notified even when the game is closed

    This is the heart of Vespo. ⚠️ People on the same server right now are skipped, so nothing rings twice.

    POST /v1/messages (presentRobloxIds)

  • Create rooms, add people, remove them

    You choose the room IDs. Calling again gives the same result, so on failure you just call again.

    POST /v1/rooms · POST /v1/rooms/leave

  • Give a room a name and an icon

    Anything from the Roblox catalog can be the icon, and you can pick a background colour.

    POST /v1/rooms (icon / iconBg)

  • See concurrent players

    Report who is here and the developer site shows your concurrent count and its trend. Linking to the game is automatic.

    POST /v1/presence

  • Show or hide "now playing"

    Players choose whether it is shown. ⚠️ Off by default, so nobody sees it until the player turns it on.

    POST /v1/presence-settings

  • See exactly how it is being used

    Call counts, failures, response times and how many people typed in chat, in 5-minute steps.

    Developer site

Mini apps

  • Your page opens inside a chat

    The contents can stay on your own site. Vespo only lends the place to open it.

    Mini app registration

  • Find out who opened it, safely

    It takes both the ticket and your API key, so a stolen ticket alone is useless.

    POST /v1/mini/verify

  • You decide what information you receive

    Choose from name, icon, room key, call status and voice. ⚠️ Anything you did not choose is not returned (only the ID is always passed). ⚠️ Scores, saves, rankings and purchase checks need the server token (stateToken), which is only issued when you chose "call status (call)".

    Scopes (name / avatar / room / call / voice)

This is all you paste

Just call it from Roblox's HttpService. No library to install.

local Players = game:GetService("Players")

-- ⚠️ presentRobloxIds = people on this same server right now.
--    They can already see it in the game, so their phones stay quiet
local present = {}
for _, p in Players:GetPlayers() do
	table.insert(present, p.UserId)
end

call("POST", "/v1/messages", {
	roomId = "myGame:lobby",
	senderUserId = player.UserId,
	senderName = player.DisplayName,
	content = message,                  -- ⚠️ up to 2000 characters
	clientMsgId = HttpService:GenerateGUID(false),
	experienceId = game.GameId,
	presentRobloxIds = present,
})

Read the full guide →Building a mini app →

Pricing

Chat API is free

Only when you sell something in a mini app: after payment fees, you keep 85% and Vespo takes 15%. Payouts start at ¥3,000.

Rate limit

Scales with players

600 + 1.5 × concurrent players per minute. Getting popular never gets you cut off.

What you can see

Totals and trends only

Who said what is shown to nobody — not to developers, not to us.

Get started

Sign in with a Roblox or Google account, register as a developer, and you get an API key on the spot.

Read the guide first (no sign-in needed):Chat API·Mini apps