⚠️ Status: Under Development This project is currently a work in progress and has not yet reached compliance with the Matter specification. We are actively working towards it, and contributions are welcome!
We are building a compliant, idiomatic Go implementation of the Matter protocol. Our goal is to let developers easily write Matter devices or controllers in Go.
To achieve this, the core library manages the complex protocol stack, while the developer provides the platform-specific glue (see Out of Scope):
- Business Logic: Actual hardware actuation and sensor readings.
- Network & BLE: OS-level provisioning and Bluetooth advertisements.
- Persistence: A storage backend (NVS) implementation.
- Security: Secure storage for device attestation certificates.
The system is designed as a layered protocol stack in Go.
- Core Messaging: Handles packet framing and TLV encoding.
- Secure Channel: Manages encryption and session establishment (PASE/CASE).
- Interaction Model: Implements the high-level language of Matter (Read/Write/Invoke).
- MRP: Ensures reliable message delivery over UDP with retransmissions and acknowledgements.
- The Blueprint: The spatial source of truth and detailed architectural map.
An Intent captures a desired evolution.
- Compliance: Missing core protocol features (IM, Transports).
- Experience: Developer UX (mDNS, NVS, Callbacks).
- Maintenance: Technical debt, tooling, and verification tasks.
- Undecided: Areas requiring further investigation (ACLs, BTP).
- Out of Scope: Features explicitly excluded from the core package.
- Current Focus: Achieving core protocol compliance and passing
chip-toolvalidation.