Ethora
May 11, 2026 · View on GitHub
Chat, AI and messaging SDK platform. Add real-time messaging, AI bots, and backend services to your app in minutes.
This repository serves as the SDK monorepo — a single place to discover, clone, and navigate all Ethora SDKs, tools, and sample apps. Each component lives in its own focused repository, linked here as git submodules.
Ecosystem
| Folder | Repository | Description | Status |
|---|---|---|---|
sdk-reactjs/ | ethora-chat-component | React.js chat SDK — embed chat in any web app | Active |
sdk-reactnative/ | ethora-chat-component-rn | React Native chat SDK (iOS & Android) | Active |
sdk-android/ | ethora-sdk-android | Native Android SDK (Kotlin) | Active |
sdk-swift/ | ethora-sdk-swift | Native iOS SDK (Swift) | Active |
sdk-wordpress/ | ethora-wp-plugin | WordPress plugin — no-code chat widget | Active |
app-reactjs/ | ethora-app-reactjs | Full web app (React.js) — App Builder frontend | Active |
playground/ | ethora-sdk-playground | SDK testing & demo playground | Active |
backend-integration/ | ethora-sdk-backend-integration | Backend integration examples | Active |
mcp-cli/ | ethora-mcp-cli | MCP CLI for IDE/agent integration | Active |
rag-demos/ | rag_demos | RAG pipeline demos & examples | Active |
bots/ | ethora-bots | Bot framework (XMPP, LLM, automation) | Active |
setup/ | ethora-setup | CLI setup tool — npx @ethora/setup | Active |
api/ | (inline) | REST API documentation (Swagger/OpenAPI) | Reference |
| — | ethora-app-react-native | React Native app (iOS & Android) | Legacy |
| — | site_crawler | Website crawler for RAG ingestion | Active |
Feature coverage across SDKs
Quick glance at what each SDK supports. Full matrix with evidence: features/ · Source:
features/features.yaml
| Capability | React.js | React Native | Android | iOS | WordPress |
|---|---|---|---|---|---|
| Email/password login | ✅ | ✅ | ✅ | ✅ | — |
| JWT / custom-token login | ✅ | ✅ | ✅ | ✅ | — |
| OAuth / social login | ✅ | 🟡 | 🛠 | 🟡 | 🟡 |
| Text messaging (send/edit/delete/reply) | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Reactions | ✅ | — | ✅ | ✅ | — |
| Typing indicator | ✅ | ✅ | ✅ | ✅ | — |
| Delivery status indicators | ✅ | — | — | ✅ | — |
| Message history (MAM pagination) | ✅ | ✅ | ✅ | ✅ | — |
| Images / video / files / audio | ✅ | ✅ | ✅ | ✅ | — |
| 1:1 messaging | ✅ | ✅ | ✅ | ✅ | 🟡 |
| Group rooms (MUC) | ✅ | ✅ | ✅ | ✅ | — |
| Single-room (embedded widget) mode | ✅ | ✅ | ✅ | ✅ | ✅ |
| Unread counter | ✅ | ✅ | ✅ | ✅ | — |
| Push notifications | ✅ | 🟡 | ✅ | ✅ | — |
| In-app notifications | ✅ | — | 🟡 | 🟡 | — |
| Prebuilt chat UI | ✅ | ✅ | ✅ | ✅ | ✅ |
| Theming | 🟡 | 🟡 | ✅ | ✅ | — |
| Dark mode | — | — | ✅ | — | — |
| Custom component overrides | ✅ | ✅ | ✅ | 🟡 | — |
| Self-hosted server support | ✅ | ✅ | ✅ | ✅ | ✅ |
| Offline message cache | ✅ | 🟡 | ✅ | ✅ | — |
Legend: ✅ Present · 🟡 Partial · 🛠 Roadmap · — Absent
Coverage (present + partial×0.5) / 44 features: React.js 77% · Android 76% · React Native 68% · iOS 68% · WordPress 14%
Last reviewed 2026-04-21 (v26.04). Monthly AI-reviewed update proposed via PR.
Hosted services
These public services run on the Ethora Cloud and are useful when exploring or testing the platform — no setup required.
| Service | URL | What it is |
|---|---|---|
| Web app | app.chat.ethora.com | Sign up, create apps, get API credentials, manage chats and AI bots. |
| API | api.chat.ethora.com | REST API used by all SDKs. |
| API docs (Swagger) | api.chat.ethora.com/api-docs/#/ | Live, up-to-date OpenAPI / v2 routes. |
| XMPP | wss://xmpp.chat.ethora.com:5443/ws | Real-time messaging gateway. |
| SDK Playground | playground.chat.ethora.com | Live @ethora/chat-component playground, code export, HTTP testing. |
| Uptime / status | uptime.chat.ethora.com | Public uptime and journey checks for the Ethora platform. |
| Documentation | docs.ethora.com | Developer documentation portal. |
| QA environment | chat-qa.ethora.com | Pre-production QA environment (use for pre-release validation only; chat.ethora.com remains the canonical default for everything else). |
Getting Started
Clone with all submodules
git clone --recurse-submodules https://github.com/dappros/ethora.git
cd ethora
If you already cloned without --recurse-submodules:
git submodule update --init --recursive
Automatic submodule bumps
This repo can update its submodule pointers automatically via .github/workflows/bump-submodules.yml.
Behavior:
- runs every 6 hours on weekdays and on manual dispatch
- updates each submodule to the latest commit on its remote default branch
- commits pointer bumps directly into
main
Set up credentials (recommended)
npx @ethora/setup
This will create an account, set up an app, and generate config files for your target SDK. You can also connect to a self-hosted server.
Quick paths
Add chat to a website (fastest):
cd sdk-reactjs
npm install
# See sdk-reactjs/README.md for embedding instructions
Add chat to a React Native app:
cd sdk-reactnative
npm install
# See sdk-reactnative/README.md
Native Android SDK:
cd sdk-android
# See sdk-android/README.md for Gradle setup
Native iOS SDK:
cd sdk-swift
# See sdk-swift/README.md for Swift Package Manager setup
WordPress (no code):
Install the plugin from sdk-wordpress/ or see ethora-wp-plugin.
Connect via MCP (IDE/AI agent):
cd mcp-cli
npm install
# See mcp-cli/README.md
Default backend
Sign up for a free account at app.chat.ethora.com to get API credentials. The SDKs connect to Ethora Cloud by default. Self-hosted and dedicated server options are available for enterprise customers.
Canonical default endpoints (used by all official SDKs unless overridden):
| Purpose | Default value |
|---|---|
| API base URL | https://api.chat.ethora.com |
| API base URL (versioned) | https://api.chat.ethora.com/v1 (legacy), https://api.chat.ethora.com/v2 (current) |
| Swagger / API docs | https://api.chat.ethora.com/api-docs/#/ |
| XMPP WebSocket | wss://xmpp.chat.ethora.com:5443/ws |
| XMPP host | xmpp.chat.ethora.com |
| XMPP MUC (conference) | conference.xmpp.chat.ethora.com |
| Web app (sign up, admin) | https://app.chat.ethora.com |
What you can build
- Chat / Messaging — 1:1 and group chat, push notifications, audio/video calls
- AI Assistants — LLM-powered bots, RAG pipelines, prompt engineering
- Backend-as-a-Service — Users, files, push notifications out of the box
- Digital Wallets — ERC-20/721/1155 tokens, documents, digital assets
- Gamification — Coins/points, referrals, daily bonuses, collectibles
Architecture
Your App
└── Ethora SDK (React.js / React Native / Android / Swift / WordPress)
└── Ethora Platform API (REST + XMPP)
├── Chat (Ejabberd + custom services)
├── AI (LLM bots, RAG)
├── Users & Auth (SSO, JWT)
├── Files & Storage (S3/IPFS)
├── Push Notifications (FCM/APNs)
└── Blockchain (EVM, optional)
Hosting options: Cloud (free tier) | Self-hosted (AWS Marketplace / Docker) | Dedicated server
Testing & Quality
Each SDK ships with its own automated test suite, all coordinated by a
single cross-platform selector contract: Android Compose testTag
strings, iOS SwiftUI accessibilityIdentifier strings, and Web
data-testid attributes all use the same human-readable IDs
(chat_input, chat_send_button, rooms_list, …). Renaming any
selector is a four-repo change by design — a contract drift breaks
four CI runs the same week instead of silently rotting in one.
Test layers
| Layer | Where | What it catches |
|---|---|---|
| L1 — Hermetic unit | JVM / Swift unit test, fakes for backend | Pure logic: reducers, parsers, state machines, formatters |
| L2 — Component UI | Compose UI / SwiftUI snapshot / Vitest + RTL | Single-component rendering + interaction |
| L3 — E2E synthetic | Maestro (mobile) / Playwright (web) against a real backend | Multi-screen flows, real network, cross-platform parity |
| L4 — Manual | Tester on a real device | UX feel, IME quirks, real-device-only bugs |
General rule: push every test as far down the pyramid as it will go. A pure reducer behaviour that can be expressed at L1 should never live at L2 or L3. L3 is reserved for what L1 + L2 genuinely cannot reach.
Per-SDK testing entry points
| SDK | L1 / L2 setup + how to run | L3 flows |
|---|---|---|
| Android | sdk-android/README.md → Testing — Compose UI test scaffold + JVM unit-test layer, Quickstart commands, AVD setup, full test inventory | sample-android/.maestro/ |
| iOS | sdk-swift/README.md — XCTest scaffold + accessibilityIdentifier markers | sample-swift/.maestro/ |
| Web (chat component) | sdk-reactjs/README.md — Vitest + RTL setup, shared data-testid IDs | Playwright suite in the ethora-app-reactjs repo |
| React Native | sdk-reactnative/README.md | (in progress) |
Cross-platform scenario catalog
For the failure-mode clusters distilled from field reports and the recommended test layer per cluster, see QA_SCENARIOS.md. The catalog covers 12 areas (multi-room state machine, send + media orchestration, connection lifecycle, send-status correctness, unread counter, history + render parity, media upload, configuration safety, UI affordances, app lifecycle, auth + token state, cross-platform parity) and is updated when a new field bug class doesn't fit cleanly into the existing clusters.
Contributing
We welcome issues, discussions, and PRs across the ecosystem. Each submodule has its own issue tracker — use the relevant repository for bug reports and feature requests.
- Open an issue for cross-cutting concerns
- Use Discussions for Q&A
- Follow conventional commit messages
Contact
- Website: https://ethora.com/
- Try Free: https://app.chat.ethora.com/register
- Twitter/X: https://x.com/EthoraOfficial
- LinkedIn: https://www.linkedin.com/company/ethora-official/
License
AGPL and MIT licenses. Commercial licenses available from Dappros.
Previous README content (archive)
Project Updates (Archive)
4 Dec 2024 — New platform UI released
Finally our new version of the overall platform UI is released. This affects the whole web version including chat component and Admin Screens. We hope you like the new look of Ethora and this inspires you to build your fascinating projects with Ethora engine! Both old and new UI are going to remain available for you to use for a few months after which we will sunset the old version. More details in our Community Forum: https://forum.ethora.com/topic/38-new-version-soft-launch/#comment-48
11 Oct 2024 — NPM: Ethora Chat Component
We released the Ethora Chat Component npm package — launch a chat room in minutes without digging into a mono-repo. https://www.npmjs.com/package/@ethora/chat-component
3 Sep 2024 — Web version redesign
We're updating our web design — new login/sign-in screens and Admin dashboard. Follow updates: https://forum.ethora.com/forum/16-updates-and-announcements/
5 Jul 2024 — Chat Component alpha
Alpha of the chat component released. It combines Ethora's platform features with simple embedding. More: https://forum.ethora.com/topic/9-ethora-nmp-package-chat-component-alpha-version/#comment-9
11 Oct 2023 — Architecture & design plans
Architecture review & refactoring; forthcoming design updates (mobile first, then web). Video by @CodeEater21 on building iOS/Android with Ethora: https://www.youtube.com/watch?v=pKEMcxJb5HM Self-hosted options via AWS Marketplace / Docker Hub planned.
Screenshots
React Native — Standard UI (new design)
React Native — Standard UI (old version)

Branded (customized) UI

App Builder
The fastest way to get your app running:
- Customize name, logo, colors
- Launch your web app on your subdomain
- Generate React Native codebases for iOS & Android
Sign up: https://app.chat.ethora.com/register
5-minute demo (widget)
Add an AI chat to any site:
Chat Bots
Ethora uses XMPP for chat. Connect bots in Python, Node.js, etc.
-
ChatGPT bot — integrate OpenAI/LLMs for topic-specialized assistants

-
Translate bot — interpreter bot (EN-ES)

Gamification, Referrals & Rewards
- Coin (ERC-20) for project economy
- Sign-up bonus (100 Coins by default)
- Daily check-in (5 Coins)
- Referrals (25 Coins to both users)
Threads
Keep busy chats tidy with thread replies.
Core Features
- iOS, Android, Web
- Your own name, branding, token/coin name
- SSO (Social Sign On) via Gmail, Facebook, Apple or email
- AI Bots with LLM, RAG, prompt engineering features
- Each user gets a digital assets wallet + cryptographic keypair
- Coins (ERC-20) & NFTs (ERC-721/1155)
- Crypto-likes (tip tokens to messages)
- Rooms & spaces, QR/public-key invites
- Profiles, push, audio/video calls
Authors & Governance
Ethora & its server infrastructure have been developed since 2018 by Dappros and DeepX. The team is led by Taras Filatov, a Ukrainian-born and UK-based tech entrepreneur.
Backend: Dappros Platform API & DeepX RTC: EVM chain + API/cache (Node.js, Kafka, Redis, MongoDB), IPFS/S3 storage, and XMPP Ejabberd messaging with custom services (Erlang, Mnesia, MySQL, Cassandra).
Commercial model:
- Client-side: free, open-source (closed-source commercial license available)
- Server-side: freemium (generous free tier + paid SLA for businesses)