This is Matrix.
Matrix is an open source project that publishes the
Matrix open standard for secure, decentralised, real-time communication, and its Apache licensed
reference implementations.
Maintained by the non-profit Matrix.org Foundation, we aim
to create an open platform which is as independent, vibrant and evolving as the Web itself... but for communication.
As of June 2019, Matrix is out of beta, and the protocol is fully suitable for production usage.
Matrix gives you simple HTTP APIs and SDKs (iOS, Android, Web) to create chatrooms, direct chats and chat bots, complete with end-to-end encryption, file transfer, synchronised conversation history, formatted messages, read receipts and more.
Conversations are replicated over all the servers participating in them, meaning there are no single point of control or failure. You can reach any other user in the global Matrix ecosystem of over 40M users, even including those on other networks via bridges.
Matrix provides state-of-the-art end-to-end-encryption via the Olm and Megolm cryptographic ratchets. This ensures that only the intended recipients can ever decrypt your messages, while warning if any unexpected devices are added to the conversation.
Matrix’s encryption is based on the Double Ratchet Algorithm popularised by Signal, but extended to support encryption to rooms containing thousands of devices. Olm and Megolm are specified as an open standard and implementations are released under the Apache license, independently audited by NCC Group.
With the advent of WebRTC, developers gained the ability to exchange high quality voice and video calls – but no standard way to actually route the calls.
Matrix is the missing signalling layer for WebRTC. If you are building VoIP into your app, or want to expose your existing VoIP app to a wider audience, building on Matrix’s SDKs and bridges should be a no-brainer.
Matrix owes its name to its ability to bridge existing platforms into a global open matrix of communication. Bridges are core to Matrix and designed to be as easy to write as possible, with Matrix providing the highest common denominator language to link the networks together.
The core Matrix team maintains bridges to Slack, IRC, XMPP and Gitter, and meanwhile the wider Matrix community provides bridges for Telegram, Discord, WhatsApp, Facebook, Hangouts, Signal and many more.
Matrix can handle any type of real-time data, not only messaging and VoIP.
By building bridges to as many IoT silos as possible, data can be securely published on the Matrix network. IoT solutions built on Matrix are unified, rather than locked to specific vendors, and can even publish or consume Matrix data directly from devices via ultra-low bandwidth transports (100bps or less)
Meanwhile AR and VR vendors are recreating the silos we’ve seen in instant messaging rather than working together towards an open ecosystem. Matrix can be the unifying layer for both communication and world data in AR and VR.
Matrix is really a decentralised conversation store rather than a messaging protocol. When you send a message in Matrix, it is replicated over all the servers whose users are participating in a given conversation - similarly to how commits are replicated between Git repositories. There is no single point of control or failure in a Matrix conversation which spans multiple servers: the act of communication with someone elsewhere in Matrix shares ownership of the conversation equally with them. Even if your server goes offline, the conversation can continue uninterrupted elsewhere until it returns.
This means that every server has total self-sovereignty over its users data - and anyone can choose or run their own server and participate in the wider Matrix network. This is how Matrix democratises control over communication.
By default, Matrix uses simple HTTPS+JSON APIs as its baseline transport, but also embraces more sophisticated transports such as WebSockets or ultra-low-bandwidth Matrix via CoAP+Noise.
curl -XPOST -d '{"msgtype":"m.text", "body":"hello"}' "https://matrix.alice.com/_matrix/client /v2/rooms/ROOM_ID/send/m.room.message ?access_token=ACCESS_TOKEN" { "event_id": "$YUwRidLecu:alice.com" }
curl –XPOST –H 'Authorization: X-Matrix origin=alice.com,...' –d '{ "ts": 1413414391521, "origin": "alice.com", "destination": "bob.com", "pdus": [{ "event_id": "$YUwRidLecu:alice.com", "content": { "body": "hello world", "msgtype": "m.text" }, ... "pdu_type": "m.room.message", "signatures": { "matrix.org": { "ed25519:auto": "jZXTwAH/7EZ..." } }, "sender": "@alice:alice.com" }] }' https://matrix.bob.com:8448/_matrix/federation/v1/send/916d...
curl "https://matrix.bob.com/_matrix/client /v2/sync?access_token=ACCESS_TOKEN" { "next_batch": "s72595_4483_1934", "rooms": [{ "room_id": "!KrLWMLDnZAyTapqLWW:alice.com", "events": { "batch": [{ "event_id": "$YUwRidLecu:alice.com", "type": "m.room.message", "content": { "body": "I am a fish", "msgtype": "m.text", }, "origin_server_ts": 1417731086797, "sender": "@alice:alice.com" }], }, }] }
Matrix Live 🎙 Dept of Social Good 🙆 Thib says Element has signed the open letter of the Global Encryption Coalition , of which we are…
Synapse 1.59 is
out! Let's see what's new in this version. Generic worker types When Synapse instances are subject to high load, it can be…
Hi all, It’s been quite a while since our last independent E2EE review, and so we’re incredibly proud to present an entirely new…
Matrix Live 🎙 Dept of Spec 📜 Andrew Morgan (anoa) says Here's your weekly spec update! The heart of Matrix is the specification - and…
Join thousands of other developers in our open source repositories, including:
Synapse
JavaScript SDK
Android SDK
iOS SDK
Matrix is managed through an open governance process, looked after by The Matrix.org Foundation - a non-profit UK Community Interest Company.
It acts as a neutral guardian of the Matrix spec, nurturing and growing Matrix for the benefit of the whole ecosystem.
The Guardians are the legal directors of the Foundation, responsible for ensuring that it keeps on mission and neutrally protects the development of Matrix.
If you share our vision, or are building on top of Matrix, please consider donating...
Support us on Patreon for great rewards including access to the supporters-only podcast, and even a voice at our weekly meetings.
Find out more at our Patreon page.
You can also send us cryptocurrency:
BTC 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE
ETH 0xA5f9a4f9E024F6D727f7afdA9257e22329A97485
If you share our vision, or are building on top of Matrix, please consider donating. See our current Elliptic supporters!
Matrix.org is generously hosted by UpCloud! Host your homeserver via UpCloud and get a $25 credit.
Learn morePrivate Internet Access™ VPN Service encrypts your connection and provides you with an anonymous IP to protect your privacy.
INBlockchain is a full-service firm focusing on consulting, incubating and facilitating crowdsales for promising blockchain startups.
OmiseGO is a public Ethereum-based financial technology for use in mainstream digital wallets.
Byzantine fault-tolerant replicated state machines in any programming language.