Real-time SDK, hosting, code editor, AI builder, app store, and payments — everything to go from idea to shipped, in one platform.
No infrastructure to manage. No boilerplate. Just your idea and a script tag — or just your idea and AI.
Rooms, messaging, master/peer pattern, and public info — all from a single neblla object. Multiplayer in 6 lines of code.
Messages and binary files travel directly between peers via WebRTC — no server hop, no quota consumed, no upload limits. Automatic socket fallback for messages.
Named or auto-generated rooms with master election, member tracking, and a 3-minute reconnection grace so users keep their seat across drops and tab reloads.
Every app gets a live URL at neblla.com/id. Hot-served while active, auto-migrated to the edge when idle. Zero config.
.save() persists per device — and follows users across devices once they log in. State survives reloads, reconnections, and switches.
Set your own domain for production apps. Sandbox mode available for localhost development. Full control over access.
Describe what you want and get a working app. Iterative "Edit with AI" to refine your creation. No coding experience needed.
Manage apps, files, and deployments directly from Claude. Full MCP integration — build and ship without leaving the conversation.
Plug your Anthropic API key in for unlimited AI edits using your own account. Free edits included for everyone to get started.
Sell digital products in a single call: neblla.buy(productId). Stripe handles checkout and payouts — you just set the price.
Track purchases, spend with consume(), and validate other players' purchases. Built for in-app currencies, unlocks, and event tickets.
Continuous server-side checks plus P2P cross-verification between peers. Mismatches are reported automatically and corrected client-side.
Publish to the Neblla marketplace. Discover, fork, and remix apps built by the community. Coming to store.neblla.com.
Drop-in Google sign-in for your players via neblla.login(). Profiles and saves carry across devices — no auth code to write.
50K daily data units, hosting, editor, AI builder, P2P — all included. No credit card required. Upgrade only when you're ready.
Whether you code by hand or let AI do the work.
Login with Google or email. Instant access, no credit card required.
Click "+", name it, then pick: generate with AI, start from a blank canvas, or fork a template.
Use the Neblla editor, iterate with AI, or manage everything from Claude via MCP.
Hit publish. Your app is live with a URL, hosted and scaled automatically.
Pay only for real-time data. Hosting and tools included.
A data unit = one character sent or received between your device and Neblla.
P2P messages are always free. Prices are per app.
Join developers shipping multiplayer experiences with less code and more fun.
window.onNeblla is a global callback invoked once the Neblla instance is ready. Click any item for full details.
Registers a listener. Use '*' for all events.
Removes a listener. Empty string clears all.
Broadcasts to everyone in the room, including yourself. P2P when available.
Private message to the room master for authoritative logic.
P2P-only binary file transfer. Send to one peer or every peer in the room.
Updates your profile and broadcasts the change. Persists across rooms.
Joins a named room. Fires 'joinRoom' on success.
Leaves the current room.
Server creates a new room and joins you automatically.
Reserves a unique room name without joining. Returns a Promise.
Persists data locally — and across devices once logged in.
Opens the Google sign-in popup for the current user.
Signs the user out and clears the persisted login token.
Opens a Stripe Checkout popup for the given product.
Spends a consumable purchase. Returns the new state.
Verifies a peer's purchase against the server.
Returns the public list of products configured for this app.
neblla.usersEveryone in the current room.
neblla.roomCurrent room object.
neblla.meYour own user object.
neblla.masterThe current master user.
neblla.purchasesYour purchases keyed by productId.
Any user sends a message. toMaster flag for tellMaster().
You successfully joined a room.
You left a room.
A user joined (also for existing users on your join).
A user left.
A user's public info changed.
The master role changed.
Socket reconnected and the room has been re-synced.
Server refused to re-issue a session — reload required.
Sign-in completed (also auto-login on reconnect).
Sign-out completed.
A room user bought, or anti-cheat corrected your state.
A peer is about to send you a file.
Bytes received or sent during a file transfer.
A file transfer completed — file is a Blob.
Download any example and start building on top of it.
Real-time chat with user names and history.
Live events board with real-time updates.
Social deduction game with roles and voting.
Two-player chess with validation and sync.
Collaborative whiteboard — everyone draws together.
Developer info: email address and name to identify you as a user.
Subscription info: your Stripe customer ID and subscription ID.
We do not store passwords, bank details, or payment info. Stripe handles that.
We use Stripe for payments and Google for authentication. These services may store cookies for their own purposes.
We do not sell, share, or disclose your information. Contact [email protected].