📢 We are happy to launch The Matrix Conference on 20th-23rd October in Malmö, Sweden. Don't forget to get your ticket!

SDKs are pieces of software meant for developers: they take care of the technical Matrix protocol calls behind the scenes, so you can focus on what makes your project unique. If you're not a developer, this section probably isn't for you.

Pick what you want to build below and we'll show you the SDKs for it. Don't be surprised if the same SDK appears under more than one option - most SDKs cover several use cases. Not sure which applies to you? Check the developer documentation for the difference between clients and appservices.

Client SDKs handle the Matrix heavy lifting for apps humans interact with directly, leaving you free to focus on the UI.

The SDK can support any of the maturity levels checked.

The client can support any of the licences checked.

The client must support any of the languages checked.

go-msc1929

Stable
etke.cc
LGPL-3.0-only
Go

Golang client for MSC1929 (/.well-known/matrix/support)

matrix-rust-sdk

Stable
Element Creations Ltd., on behalf of The Matrix.org Foundation
Apache-2.0
Rust

An implementation of a Matrix client-server library in Rust.

Trixnity

Stable
connect2x GmbH
Apache-2.0
Kotlin

Multiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers.

Matrix Dart SDK

Stable
Famedly GmbH
AGPL-3.0-only
Dart

Matrix SDK written in dart.

mautrix-python

Stable
Tulir
MPL-2.0
Python

A Python 3 asyncio Matrix framework.

mautrix-go

Stable
Tulir
MPL-2.0
Go

A Golang Matrix framework.

matrix-nio

Stable
matrix-nio maintainers
ISC
Python

A Python Matrix client library, designed according to sans I/O principles.

Ruma

Stable
Ruma team
MIT
Rust

A set of Rust crates for interacting with the Matrix chat network.

Matrix.org JS SDK

Stable
Element Creations Ltd., on behalf of The Matrix.org Foundation
Apache-2.0
JavaScript

Matrix Client-Server SDK for JavaScript.

Matrix Nim SDK

Obsolete
dylhack
GPL-3.0
Nim

A Matrix library for the client-server and appservice API's written in Nim!

matrix_dotnet

Obsolete
Greenscreener
GPL-3.0-or-later
C#

Matrix client SDK in C#

Matrix.swift

Obsolete
cvwright
Apache-2.0
Swift

Matrix client SDK in Swift

matrix-communication-client

Obsolete
Réda Housni Alaoui
MIT
Java

A java client for the Matrix protocol.

µtrix

Obsolete
Dominik George; Project Hack'n'Fun @ Teckids e.V.
Apache-2.0
Python

Matrix client library for MicroPython.

matrix-kt

Obsolete
Dominic Fischer
Apache-2.0
Kotlin

Kotlin libraries for Matrix.

dial-phone

Obsolete
mtorials
Apache-2.0
Kotlin

A Matrix client-server SDK written in Kotlin.

Matrix-ClientServer-API-java

Obsolete
Jojii
GPL-3.0-only
Java

A small and simple java API for the Matrix ClientServer Protocol.

gomatrix

Obsolete
Matrix.org
Apache-2.0
Go

A Golang Matrix client.

POSIX Shell Matrix SDK

Beta
wj25czxj47bu6q
MIT-Modern-Variant
POSIX Shell

Simple shell script SDK for the Matrix Client‑Server API. Works in any POSIX-compliant shell.

Elm SDK

Beta
Bram Noordstar
EUPL-1.2
Elm

A more consistent alternative to the matrix-js-sdk written in Elm.

libcmatrix

Beta
LGPL-2.1-only
C

A matrix client client library written in GObjectified C

Rory&::LibMatrix

Beta
Rory& and other contributors
AGPL-3.0-only
C#

A .NET 10 library for interacting with Matrix.

libkazv

Beta
The Kazv Project
AGPL-3.0-or-later
C++

A matrix client sdk built upon lager and the value-oriented design it enables.

Trixnity Messenger

Beta
connect2x GmbH
AGPL-3.0-only
Kotlin

Multiplatform Kotlin SDK for developing messengers on top of Trixnity

Ruby Matrix SDK

Beta
Ananace
MIT
Ruby

Ruby SDK for the Matrix communication protocol.

Quotient

Beta
The Quotient team
LGPL-2.1-only
C++

A Qt6 library to write cross-platform clients for Matrix

Matrix.org iOS SDK

Beta
Matrix.org team
Apache-2.0
Objective-C

The Matrix SDK for iOS.

Matrix C# SDK

Beta
Baking Bad
MIT
C#

Build .NET apps compatible with the Matrix Protocol.

Bot SDKs handle the Matrix heavy lifting for automated accounts nobody talks to directly, leaving you free to focus on what the bot actually does.

The SDK can support any of the maturity levels checked.

The client can support any of the licences checked.

The client must support any of the languages checked.

go-msc1929

Stable
etke.cc
LGPL-3.0-only
Go

Golang client for MSC1929 (/.well-known/matrix/support)

matrix-rust-sdk

Stable
Element Creations Ltd., on behalf of The Matrix.org Foundation
Apache-2.0
Rust

An implementation of a Matrix client-server library in Rust.

Trixnity

Stable
connect2x GmbH
Apache-2.0
Kotlin

Multiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers.

mautrix-python

Stable
Tulir
MPL-2.0
Python

A Python 3 asyncio Matrix framework.

mautrix-go

Stable
Tulir
MPL-2.0
Go

A Golang Matrix framework.

matrix-nio

Stable
matrix-nio maintainers
ISC
Python

A Python Matrix client library, designed according to sans I/O principles.

Ruma

Stable
Ruma team
MIT
Rust

A set of Rust crates for interacting with the Matrix chat network.

Simple-Matrix-Bot-Lib

Stable
KrazyKirby99999
MIT
Python

An easy to use bot library for the Matrix ecosystem written in Python.

Matrix.org JS SDK

Stable
Element Creations Ltd., on behalf of The Matrix.org Foundation
Apache-2.0
JavaScript

Matrix Client-Server SDK for JavaScript.

Matrix.org AS Node SDK

Stable
Matrix.org team
Apache-2.0
JavaScript

Matrix Application Service framework in Node.js.

Matrix Nim SDK

Obsolete
dylhack
GPL-3.0
Nim

A Matrix library for the client-server and appservice API's written in Nim!

matrix_dotnet

Obsolete
Greenscreener
GPL-3.0-or-later
C#

Matrix client SDK in C#

matrix-communication-client

Obsolete
Réda Housni Alaoui
MIT
Java

A java client for the Matrix protocol.

µtrix

Obsolete
Dominik George; Project Hack'n'Fun @ Teckids e.V.
Apache-2.0
Python

Matrix client library for MicroPython.

matrix-kt

Obsolete
Dominic Fischer
Apache-2.0
Kotlin

Kotlin libraries for Matrix.

dial-phone

Obsolete
mtorials
Apache-2.0
Kotlin

A Matrix client-server SDK written in Kotlin.

Matrix-ClientServer-API-java

Obsolete
Jojii
GPL-3.0-only
Java

A small and simple java API for the Matrix ClientServer Protocol.

MatrixBot .NET Core SDK

Obsolete
enimatek-nl
MIT
C#

Build .NET chat bots compatible with the Matrix Protocol. It has support for a limited subset of the APIs.

Halcyon

Beta
Wes Ring
BSD-3-Clause
Python

An easy to use Matrix library inspired by discord.py.

matrix_bot_light

Beta
roquess
Apache-2.0
Erlang

A simple lightweight library for creating Matrix bots. Available on Hex.pm.

POSIX Shell Matrix SDK

Beta
wj25czxj47bu6q
MIT-Modern-Variant
POSIX Shell

Simple shell script SDK for the Matrix Client‑Server API. Works in any POSIX-compliant shell.

mxbt

Beta
kulebyaka
GPL-3.0-only
Python

Yet another matrix bot library.

Rory&::LibMatrix

Beta
Rory& and other contributors
AGPL-3.0-only
C#

A .NET 10 library for interacting with Matrix.

matrix-bot-sdk

Beta
Travis Ralston
MIT
TypeScript

TypeScript/JavaScript SDK for Matrix bots.

libkazv

Beta
The Kazv Project
AGPL-3.0-or-later
C++

A matrix client sdk built upon lager and the value-oriented design it enables.

Ruby Matrix SDK

Beta
Ananace
MIT
Ruby

Ruby SDK for the Matrix communication protocol.

Quotient

Beta
The Quotient team
LGPL-2.1-only
C++

A Qt6 library to write cross-platform clients for Matrix

Matrix C# SDK

Beta
Baking Bad
MIT
C#

Build .NET apps compatible with the Matrix Protocol.

Bridge SDKs handle the Matrix heavy lifting for appservices that connect a Matrix community to a third-party platform, or exchange data with one.

The SDK can support any of the maturity levels checked.

The client can support any of the licences checked.

The client must support any of the languages checked.

matrix-rust-sdk

Stable
Element Creations Ltd., on behalf of The Matrix.org Foundation
Apache-2.0
Rust

An implementation of a Matrix client-server library in Rust.

Trixnity

Stable
connect2x GmbH
Apache-2.0
Kotlin

Multiplatform Kotlin SDK for developing Clients, Bots, Appservices and Servers.

mautrix-python

Stable
Tulir
MPL-2.0
Python

A Python 3 asyncio Matrix framework.

mautrix-go

Stable
Tulir
MPL-2.0
Go

A Golang Matrix framework.

matrix-appservice-bridge

Stable
Matrix.org
Apache-2.0
TypeScript

Bridging infrastructure for Application Services.

Ruma

Stable
Ruma team
MIT
Rust

A set of Rust crates for interacting with the Matrix chat network.

Matrix.org JS SDK

Stable
Element Creations Ltd., on behalf of The Matrix.org Foundation
Apache-2.0
JavaScript

Matrix Client-Server SDK for JavaScript.

Matrix.org AS Node SDK

Stable
Matrix.org team
Apache-2.0
JavaScript

Matrix Application Service framework in Node.js.

Matrix Nim SDK

Obsolete
dylhack
GPL-3.0
Nim

A Matrix library for the client-server and appservice API's written in Nim!

Rory&::LibMatrix

Beta
Rory& and other contributors
AGPL-3.0-only
C#

A .NET 10 library for interacting with Matrix.

matrix-bot-sdk

Beta
Travis Ralston
MIT
TypeScript

TypeScript/JavaScript SDK for Matrix bots.