English
MODULE · v1.0

Moai Chat

WebSocket real-time chat + transport encryption

Direct, Group, and Open room types with unread count and unlimited history. HTTPS TLS transport encryption and WebSocket real-time messaging in a single SDK.

# TypeScript
import { MoaiCloud } from '@moai/cloud-sdk';

const client = new MoaiCloud({ apiKey: process.env.MOAI_API_KEY });

// Create a chat room
const { room } = await client.chat.createRoom({
  type: 'group',
  name: 'Project Alpha',
  creatorExternalUserId: 'user_1',
  memberExternalUserIds: ['user_1', 'user_2'],
});

// Send a message
const { message } = await client.chat.sendMessage(room.id, {
  senderExternalUserId: 'user_1',
  content: 'Hello, team!',
  type: 'text',
});
3
Room types
WS
Protocol
TLS
Security
88%
Gross margin

Technical advantages

Transport encryption + API key security

HTTPS TLS transport encryption and bcrypt-hashed API keys protect your data. E2E encryption is on the roadmap.

Direct/Group/Open 3 room types

1:1 direct, group chat, and public open channels cover all communication scenarios.

Unread count

Real-time per-room unread message tracking to enhance user experience.

Unlimited history

Store unlimited message history and deliver it efficiently with cursor-based pagination.

WebSocket real-time messaging

Socket.IO-based WebSocket for real-time chat with zero message delivery delay.

Tenant isolation

Fully isolate rooms and messages per customer for safe multi-tenant chat service.

First call in 30 seconds

Moai Chat puts developer experience first. A few lines of code give you production-grade infrastructure immediately. Every API ships with zero-downtime deploys and high availability.

A single endpoint to manage everything
Infrastructure proven in production
import { MoaiCloud } from '@moai/cloud-sdk';

const client = new MoaiCloud({ apiKey: process.env.MOAI_API_KEY });

// Create a chat room
const { room } = await client.chat.createRoom({
  type: 'group',
  name: 'Project Alpha',
  creatorExternalUserId: 'user_1',
  memberExternalUserIds: ['user_1', 'user_2'],
});

// Send a message
const { message } = await client.chat.sendMessage(room.id, {
  senderExternalUserId: 'user_1',
  content: 'Hello, team!',
  type: 'text',
});

Pricing

Starter

$49
1,000 MAU/month
  • Direct/Group chat
  • Unread count
  • 30-day history
Get started
Most Popular

Pro

$199
10,000 MAU/month
  • Open channels
  • Transport encryption
  • Unlimited history
  • Priority support
Start with Pro

Business

$699
100,000 MAU/month
  • Custom room policies
  • Dedicated instance
  • 99.9% SLA + dedicated manager
Get started

Use cases

Community app chat

Use the Moai Chat module to quickly build the core business flow for Community app chat. Case #1.

Customer support chat widget

Use the Moai Chat module to quickly build the core business flow for Customer support chat widget. Case #2.

Team collaboration messenger

Use the Moai Chat module to quickly build the core business flow for Team collaboration messenger. Case #3.

Start Moai Chat in 30 seconds