Skip to content


Repository files navigation


A Raku library for Matrix.


zef install Matrix::Client


use Matrix::Client;

my $client =

$client.login(:username<myuser>, :password<s3cr3t>);

# Check my user
say $client.whoami;  #

# Send a message to a random room that I'm in
my $room = $client.joined-rooms.pick;
say "Sending a message to {$}";
$room.send("Hello from Raku!");


Matrix is an open network for secure, decentralized communication.

This module provides an interface to interact with a Matrix homeserver through the Client-Server API. It's currenlty on active development but it's mostly stable for day to day use.

Here's a not complete list of things that can be done:

  • Login/logout
  • Registration
  • Synchronization of events/messages
  • Send events
  • Send messages
  • Upload files to a home-server

There are many missing endpoints (you can check a complete checklist here). If you want to contribute with some endpoint check the file.


There's a couple of pages of documentation on the docs/ directory. This includes API documentation, basic usage, examples, etc.


Matías Linares | Matrix ID: