animate-lineanimate-lineanimate-lineanimate-lineanimate-lineanimate-lineanimate-lineanimate-lineanimate-line

iEXChat — self-hosted support for exchangers

Your own support platform for an exchanger.

iEXChat combines a website widget, operator panel, customer history, order context and notification channels in one system that can run inside your own infrastructure.

It is not just an external SaaS widget. It is an operational support layer for exchangers: multi-site access, operator roles, quick replies, SLA, analytics and integrations around native chat.

Shadow DOM widget Socket.IO realtime React panel Self-hosted stack
Conflict-free widgetone script, isolated styles and per-site branding
Multi-siteseparate sites, roles, operators and access rights
Live inboxmessages, statuses, presence and unread update immediately
Demo Exchanger
Operator workspace
Inbox
Customer context
Order
ORD-58291
Direction
BTC → USDT
Page
/exchange/btc-usdt

Payment sent, need status

We are checking the payment and will return with the status.

Reply to customer
iEX SupportRealtime online

Hello! How can we help with the exchange?

We are checking the payment and will return with the status.

Type a message...
Positioning

Not just a chat button, but an operating system for support

A normal widget only covers the conversation. iEXChat connects the site, visitor, order, operator, history, notifications and reports into one managed workflow.

Exchange context in the conversation

The website can pass order number, exchange direction, page, customer actions and metadata into the conversation.

Data stays in your infrastructure

PostgreSQL stores conversations, customers, settings, ratings and audit. Redis and Socket.IO are transport and realtime layers, not the only source of truth.

One product for several sites

One installation can serve multiple exchangers or storefronts while keeping queues, operator rights, widget settings and analytics separated.

How it works

A light customer widget, a full support platform inside

A customer site loads a small script. The widget opens a realtime conversation, the API stores state, the worker handles background jobs and the operator works in a dedicated professional panel.

Customer website

Loads the widget with a public site id and can pass customer or order data.

Widget

Pure TypeScript widget runs in Shadow DOM, stores the visitor and restores the conversation.

API and realtime

NestJS API, Socket.IO, typed contracts and event bus deliver messages and statuses.

Conversation history

PostgreSQL and Prisma store sites, visitors, conversations, messages, roles and settings.

Operator panel

React panel gives inbox, customer profile, quick actions, analytics and settings.

Capabilities

Capabilities that turn chat into a support workspace

Operator inbox

Conversation queue, unread state, assignments, statuses, quick reply and realtime updates in one work screen.

Website widget

One script snippet, Shadow DOM style isolation, branding, modes, offline form, FAQ and articles.

Sites, roles and teams

Site-scoped access, roles, operators, departments, tags, visitors, archive and data separation per project.

Channels and integrations

Telegram bridge, email settings, inbound email, API keys, webhooks and external-channel modes.

SLA and automation

Response policies, assignment rules, reminders, BullMQ queues, notifications and background checks.

Analytics and quality

Dashboards, events, rollups, CSAT ratings, operator metrics, audit trail and scaling preparation.

Product scope

The platform covers the whole support loop, not only the website window

Layer 1
In product

Self-hosted core

Monorepo, NestJS API, React panel, worker, Prisma, PostgreSQL, Redis, Docker and setup documentation.

Layer 2
In product

Realtime conversations

Visitor bootstrap, session restore, messages, Socket.IO, presence, typing, unread state and deduplication.

Layer 3
In product

Multi-site access

Several sites in one installation, public site IDs, roles, site_user_access, domains, widget settings and locales.

Layer 4
In product

Support workflow

Assignments, departments, tags, notes, quick replies, archive, visitors, customer profile and team settings.

Layer 5
Expanding

Channels and events

Telegram, email, inbound mail, webhooks, API keys, exchange events and external scenarios around native chat.

Layer 6
Expanding

Control and growth

SLA, automation, CSAT, analytics rollups, audit log, metrics, alerts and scaling infrastructure.

Installation

For the website it is one widget, for the business it is a managed support layer

The website loads a script with a public site ID. From there it can pass customer, email, order number and exchange events so the operator sees the whole situation, not a bare message.

Website side
  • Support window on selected pages
  • CSS isolation and branding for the exchanger
  • Customer, order and exchange events attached
Team side
  • Conversations, visitors and archive in one workspace
  • Roles, departments, SLA and quick replies for operators
  • Telegram, email, API, webhooks, analytics and audit
Channels and control

Native chat first, integrations around it

Native chat

Primary scenario: the customer writes on the site and the operator replies from inbox.

Telegram and email

Additional channels for notifications, replies and inbound requests, not a replacement for the main product.

API, webhooks and external routing

Events can be sent to external systems, and customers can be routed to another channel when needed.

Have questions about purchasing or launching?

iEXExchanger is a professional solution for building a currency exchange service.