matter
Version, currently develop branch1 version
- develop branchlatestNov 6, 2026
github.com/Crystal-Matter/matter
A complete Crystal lang implementation of the Matter protocol specification (https://buildwithmatter.com). Includes full support for controller, device, commissioning, secure communications, device types, and cluster definitions.
Installation
# Add this to your shard.yml
dependencies:
matter:
github: Crystal-Matter/matter
branch: developdevelop is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
- no constraint declared
- License
- MIT
- Author
- Stephen von Takach
- Target
matter-storagefrom src/matter/storage/cli.cr
Dependencies
Runtime Dependencies
- dns*github: spider-gazelle/dns
- tlv~> 2.1github: Crystal-Matter/tlv
- crimage*github: naqvis/crimage, commit: 7d3244a3850646e3d398cef071f7c3e3f52c7518
- verhoeff*github: Crystal-Matter/verhoeff
- openssl_ext*github: spider-gazelle/openssl_ext
- spake2_plus*github: Crystal-Matter/spake2_plus
Development Dependencies
README
Matter
A Matter 1.6 library in Crystal for building devices and controllers.
Install
Add to shard.yml, then run shards install:
dependencies:
matter:
github: Crystal-Matter/matter
Start here
Run the switch example; it prints a setup code for commissioning:
crystal run examples/matter_switch_device.cr
| Task | Entry point | Next step |
|---|---|---|
| Build a device | require "matter" | Device guide and examples |
| Commission or control devices | require "matter/controller" | Controller guide and chip-tool CLI |
| Share fabrics across administrators | Device and controller Joint Fabric APIs | Matter 1.6 Joint Fabric guide |
| Persist state | YAML, JSON, or memory by default; SQLite and PostgreSQL opt in | Storage guide |
Scope
The library includes PASE and CASE sessions, discovery, commissioning, Interaction Model, subscriptions, and device and controller runtimes. It declares all 135 standard Matter 1.6 clusters in the pinned XML audit. Declaration coverage does not establish complete behavior or certification; consult the cluster audit and command and event audit before using a feature.
| Area | Details |
|---|---|
| Devices | Declarative endpoints and clusters, fabric-aware access, events, and durable state |
| Controllers | Discovery, pairing, commissioning, reads, writes, invokes, and subscriptions |
| Joint Fabrics | Administrator and Datastore roles, shared controller identities, migration, and interop fixtures |
| Transport | UDP by default; experimental BlueZ BTP central adapter |
| Storage | YAML, JSON, memory; explicit SQLite or PostgreSQL adapters with shared SQL schema |
Documentation
| Guide | Covers |
|---|---|
| Detailed usage | Device DSL, controller APIs, shared fabrics, storage, examples, and testing |
| Architecture | How messages move through the stack |
| Joint Fabric | Matter 1.6 behavior, interoperability evidence, and remaining deployment requirements |
| Cluster coverage | Declarations, revisions, and limits of the audit |
| Command and event coverage | Mandatory ID comparison and its limits |
The full end-to-end suite runs with ./test; see testing options. Contributions are welcome through pull requests.
MIT licensed. Created and maintained by Stephen von Takach.
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
develop- Seen
- Nov 6, 2026
- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/Crystal-Matter/matter
Metadata
- Created
- Aug 12, 2026
- Updated
- Nov 6, 2026
- Synced
- Nov 6, 2026
- Versions
- 1