GROUPS & DMs
Make conversation native to your product
Groups, DMs, replies, recall, read receipts and reactions work out of the box across Web, iOS, Android and server SDKs.
- Complete messaging
- Multi-platform SDKs
- Offline push
SELF-HOSTED MESSAGING · BUILT FOR CONTROL
One Go binary powers group chats, live rooms and DMs. Your data, keys and access policies stay under your control — with a free edition to get started.
ONE ENGINE, THREE CONVERSATION MODES
User-to-user messaging, high-concurrency live interaction, and AI-to-human support share one identity, message, and permission model.
GROUPS & DMs
Groups, DMs, replies, recall, read receipts and reactions work out of the box across Web, iOS, Android and server SDKs.
LIVE ROOMS
Room messages, presence, moderation and rate limits run through one reliable path.
AI CUSTOMER SERVICE
RAG, tool calls, memory and human handover live directly on the message stream — no second support stack to stitch together.
FROM ZERO TO PRODUCTION
Validate with one process, then scale with real traffic. Development and production keep the same protocol and code.
Connect one Go binary to PostgreSQL and Redis and get running in minutes.
Clients open one WebSocket; your backend syncs identities and events over gRPC.
Add RabbitMQ or NATS and scale horizontally without rewriting clients; use Kubernetes + Helm for production rollouts and autoscaling.
# build and start
$ make build-basic
$ ./bin/basic/websocket
✓ http+ws :8080
✓ grpc :9001
✓ metrics :9090
● IMCore is readyReal benchmarks · no inflated claims
Measured on Alibaba Cloud cn-hangzhou, 2026-07. Different instance types, message sizes and room topologies will vary — rerun the benchmark for your own workload shape.
We provide the load generator and report tool (loadtest / satreport) so you can rerun the exact parameters, scenarios and result JSON in your own environment — reproducible on your side, not just our word.
Traffic is shaped like real users typing (within the server’s 4 msg/s per-user limit), not one connection hammering to inflate throughput.
We publish the zero-error, zero-drop low-latency step — 10,000 conns, p99 153ms, zero drops (consistent across two independent reruns). Going higher means scaling out horizontally (next point), not squeezing one node to the edge.
RabbitMQ / NATS scale out horizontally; capacity grows near-linearly with websocket instances — multiply the single-node figure by your instance count.
ONE CODEBASE · SINGLE NODE TO CLUSTER
The client protocol stays the same. Start with direct delivery, then add RabbitMQ or NATS to scale websocket, persistence, AI and sync workers.
SECURITY IS THE DEPLOYMENT MODEL
Instead of trusting another hosted vendor, run IMCore inside your own network, key-management and audit boundary.
Security & private deployment →Data sovereignty · self-hosted, never leaves
Lifecycle controls · retention / archive / export / erasure
Audit protection · legal hold / HMAC chain / redaction
Recovery evidence · backup restore / RPO-RTO drills
START FREE · UPGRADE WITH REAL NEEDS
Basic stays free. Add clustering, the admin console or AI support only when you need them — never stack costs by DAU.
Single-instance IM core, self-hosted starter
Cluster-scalable with push / moderation / callbacks — production-ready
Pro + admin console + Community (super-groups & channels) + external sync
Pro + the full AI customer-service suite
READY TO OWN THE CONVERSATION?
Share your concurrent connections, daily message volume and deployment environment for a concrete edition and topology recommendation.
We usually reply within one business day