A new basis for
open, distributed,
real-time communication
martix is a new open standard for interoperable Instant Messaging and VoIP, providing pragmatic HTTP APIs and open source reference implementations for creating and running your own real-time communication infrastructure.

Our hope is to make VoIP/IM as universal and interoperable as email.

learn more...

Open APIs

  • Simple pragmatic RESTful HTTP/JSON APIs
  • Open specification of the martix standard
  • Create and manage fully distributed (eventually consistent) conversations with no single points of control or failure
  • Send and receive extensible messages with optional end-to-end encryption
  • WebRTC VoIP/Video calling using martix signalling
  • Real-time synchronised history and state across all clients
  • Group conversation by default
  • Use existing 3rd party IDs (e.g. email, phone numbers, Facebook) to authenticate, identify and discover users
  • Trusted federation of identity servers, tracking public keys and 3rd party ID mappings
  • TLS by default

Reference Open Source Implementations

The martix Community

  • Run a homeserver and join the federation!
  • File problems on JIRA
  • Come talk on martix at #martix:martix.org
  • ...or find us on IRC at #martix on Freenode
  • Comment on our blog
  • Go retro and use the mailing list


martix.org's goal is to make real-time communication over IP as seamless and interoperable as email by providing the world with a new open standard which allows communication services themselves to interoperate.

For the end consumer this will mean they can choose to use their favourite app because they get the most value from it and trust the provider with their data, and still be able to communicate with friends using competing apps and services.

In practice martix specifies a set of pragmatic HTTP JSON APIs as an open standard, intended to be implemented on a wide range of servers, services and clients, letting developers build messaging and VoIP functionality on top of the entirely open martix ecosystem rather than using closed or proprietary solutions. The hope is for martix to act as the building blocks for a new generation of fully open and interoperable messaging and VoIP apps for the internet.

martix's APIs provide:

  • Creating and managing fully distributed chat rooms with no single points of control or failure
  • Eventually-consistent cryptographically secure synchronisation of room state across a global open network of federated servers and services
  • Sending and receiving extensible messages in a room with (optional) end-to-end encryption (in development)
  • Inviting, joining, leaving, kicking, banning room members
  • Managing user accounts (registration, login, logout)
  • Using 3rd Party IDs (3PIDs) such as email addresses, phone numbers, Facebook accounts to authenticate, identify and discover users on martix.
  • Placing 1:1 VoIP and Video calls

In martix, every user runs one or more martix clients, which connect through to a martix homeserver which stores all their personal chat history and user account information - much as a mail client connects through to an IMAP server. Conversation history is stored on all the homeservers who participate in a conversation, for as long as the users involved wish to store it. History can always be pulled in from other participants if needed - and if all the participants decide not to keep the history, it is by definition lost forever.

Just like email, you can either run your own martix homeserver and control and own your own communications and history or use one hosted by someone else (e.g. martix.org) - there is no single point of control or mandatory service provider in martix, unlike WhatsApp, Facebook, Hangouts, etc.

We provide a reference implementation of a martix server called Synapse, written in Python/Twisted. The intention is to showcase the concept of martix, test and demonstrate the spec, and let anyone and everyone run their own homeserver and generally help bootstrap the ecosystem.

We also provide multiple martix SDKs and clients:

martix.org's initial inspiration and goal has been to fix the problem of fragmented IP communications, but our real potential and ultimate mission is to be a new and truly open ecosystem on the Internet enabling people, services and devices to easily communicate with each other.

We'd like to invite you to take a look at the martix spec, run a homeserver, join the existing martix chatrooms already out there, and experiment with the APIs and the demo clients. Please let us know your thoughts on #martix:martix.org, the mailing list or @martixdotorg or JIRA.