Matter vs Thread vs Zigbee in 2026: How They Actually Work Together

Matter vs Thread vs Zigbee in 2026: How They Actually Work Together
Matter vs Thread vs Zigbee in 2026: How They Actually Work Together
Listen to this post

AI-narrated version of this post using a synthetic voice. Great for accessibility or listening while busy.

Matter vs Thread vs Zigbee in 2026: How They Actually Work Together

The most common misunderstanding about Matter is that it replaces Thread or Zigbee. It doesn’t. Matter is an application-layer protocol that can run over multiple different network transports, Thread being one of them. Thread itself is a low-power IPv6-based mesh network standard, competing directly with Zigbee’s network layer. Zigbee, in turn, is both a network stack and an application framework, which is why it feels like a complete alternative rather than a complementary piece. If you’re shopping for smart home devices in 2026, this distinction matters more than any feature list, because it determines what will actually talk to what, and which hubs or border routers you’ll need on your network.

The promise of Matter was supposed to simplify all of this–??one standard, all ecosystems interoperable, no more guessing. In practice, Matter 1.4 has made significant strides, but the reality on the ground is still a layered architecture where Thread, Wi-Fi, and Ethernet provide transport, Matter provides the command vocabulary, and vendor-specific quirks still show up during pairing and commissioning. Understanding the actual technical layers–??6LoWPAN encapsulation, mDNS service discovery, Matter Fabric assignments–??helps you navigate the real-world gaps between the marketing pitch and what happens when you try to add a new device to your home.

Thread Is a Network Layer, Not an Application Protocol

Thread is an IPv6-based, low-power, self-healing mesh network designed specifically for IoT devices. It was created by the Thread Group, a consortium that includes Google, Apple, and other major vendors, and published as an IEEE 802.15.4-based standard. Thread operates at layers 2 and 3 of the OSI model: it handles MAC addressing, network topology, routing, and IPv6 packet delivery. It does not define what commands you send to a light bulb or a thermostat–??that’s the job of an application protocol like Matter or the older Thread-native protocols that vendors used before Matter existed.

Thread uses 6LoWPAN (IPv6 over Low-Power Wireless Personal Area Networks) to compress IPv6 headers so that they fit within the small 127-byte maximum frame size of IEEE 802.15.4 radios. This is critical for battery-powered devices, because transmitting fewer bytes directly translates to longer battery life. Thread networks are mesh topologies, meaning that devices relay packets for each other, creating multiple redundant paths between any two nodes. Devices are classified as routers, which participate in forwarding, or end devices, which only communicate with their parent router and sleep most of the time to conserve power.

A Thread network requires at least one border router–??a device that bridges the Thread mesh to your IP network, whether that’s Ethernet or Wi-Fi. The border router handles routing between the Thread network’s IPv6 addresses and the broader home network. Apple HomePod minis, Google Nest Hubs, and dedicated Thread border routers like those from Nanoleaf or Eve all serve this function. Without a border router, your Thread devices cannot communicate with devices outside the mesh, including your phone or a cloud controller.

Thread networks are identified by a network key and Extended PAN ID, and devices joining the network go through a commissioning process that provisions these credentials. This happens over Bluetooth LE during initial setup, which is why nearly all Thread devices also include a BLE radio for onboarding. Once commissioned, the device communicates exclusively over Thread, and BLE is typically disabled to save power. Thread supports up to 250 devices per network in theory, though practical limits are lower depending on router density and traffic patterns.

One common misconception: Thread is not inherently tied to Matter. Before Matter, vendors like Nanoleaf and Eve built Thread-native devices that used proprietary application protocols over Thread transport. These devices benefited from Thread’s mesh reliability and low power consumption, but they weren’t interoperable with other ecosystems. Matter changes that by providing a standard application layer that works over Thread, but also over Wi-Fi and Ethernet, making the transport layer swappable.

Matter Is the Application Protocol That Runs on Top

Matter, originally called Project CHIP (Connected Home over IP), is an application-layer protocol developed by the Connectivity Standards Alliance (CSA). It defines a standardized vocabulary of commands, attributes, and data models for smart home devices: what a light’s on/off state looks like, how you adjust a thermostat’s setpoint, what fields a door lock reports. Matter operates at layer 7 of the OSI model, and it is explicitly designed to be transport-agnostic. A Matter light can communicate over Thread, Wi-Fi, or Ethernet, and the commands it responds to are identical regardless of the underlying network.

Matter uses IPv6 exclusively, and it relies on mDNS (multicast DNS) and DNS-SD (DNS Service Discovery) for device discovery on local networks. When you commission a new Matter device, your controller (phone, hub, or bridge) discovers the device via mDNS, establishes a secure session using the PAKE (Password Authenticated Key Exchange) protocol with a setup code, and then provisions it into a Matter Fabric. A Fabric is Matter’s term for a logical grouping of devices and controllers that share trust and credentials. Each Fabric has a unique Fabric ID, and devices can belong to multiple Fabrics simultaneously, which is how multi-admin works–??your Thread light can be controlled by both Apple Home and Google Home at the same time, because it’s part of both Fabrics.

The Matter specification defines a set of device types and clusters. Device types include things like on/off light, dimmable light, color temperature light, door lock, thermostat, window covering, and so on. Clusters are collections of attributes, commands, and events that apply to a device. For example, the On/Off cluster defines the On, Off, and Toggle commands, plus the OnOff attribute that reflects current state. A color light would implement the On/Off cluster, Level Control cluster, and Color Control cluster. This modular design means that Matter controllers can discover a device’s capabilities dynamically and render appropriate UI without hardcoded knowledge of every possible device.

Matter commissioning involves several steps. First, the device advertises itself over BLE or via a QR code containing a setup payload. The payload includes a discriminator, a setup PIN code, and optional vendor/product identifiers. The controller scans the QR code or pairs over BLE, retrieves device certificates, performs PAKE authentication, and provisions network credentials (Wi-Fi password or Thread network key). Once the device joins the IP network, it’s assigned to the controller’s Fabric, and commissioning completes. The device is now reachable via IPv6 on the local network, and the controller can send Matter commands over UDP or TCP depending on the device type and transport.

Matter 1.0 launched in late 2022, and it was rough. Pairing failures were common, especially for Thread devices, because border router implementations were immature and mDNS across network segments was unreliable. Matter 1.1, 1.2, and 1.3 focused heavily on stability and expanded device type support. Matter 1.4, released in mid-2025, added significant improvements: enhanced multi-admin, better energy reporting, support for solar panels and EV chargers, and refined Thread handling. The practical impact of 1.4 is that pairing success rates are much higher, and devices are more likely to show up consistently across ecosystems.

Zigbee Is a Competing Full-Stack Alternative

Zigbee predates both Thread and Matter by more than a decade. It’s also an IEEE 802.15.4-based mesh network, but unlike Thread, Zigbee includes both the network layer and the application layer in a single specification. Zigbee defines its own routing protocols, its own security model, and its own application frameworks like Zigbee Home Automation (ZHA), Zigbee Light Link (ZLL), and Zigbee 3.0, which unified the earlier profiles into a single standard. A Zigbee device is a complete package: the network stack and the command set are both Zigbee-specific.

Zigbee networks are built around a coordinator, which is typically a hub like a Philips Hue Bridge, SmartThings Hub, or Home Assistant with a Zigbee radio. The coordinator forms the network, assigns addresses, and manages security keys. Routers extend the mesh, and end devices connect to routers and sleep when idle. Zigbee’s application layer uses clusters similar to Matter’s concept, but they’re Zigbee-specific and not directly interoperable with Matter clusters, even when they represent the same functionality.

Zigbee operates on the 2.4 GHz band (in most regions), the same as Thread and Wi-Fi, which means interference is a real consideration. Practitioners differ on how much of a problem this is in practice–??some networks run hundreds of Zigbee devices without issue, while others experience dropouts and need careful channel planning. Zigbee supports up to 65,000 devices per network in theory, though real-world deployments top out much lower due to coordinator resource limits and mesh density.

One advantage Zigbee has held historically is maturity. There are thousands of Zigbee devices on the market, from every category imaginable, and the ecosystem is battle-tested. Zigbee’s routing is also more flexible than Thread’s in some respects–??Zigbee supports source routing and route discovery mechanisms that can adapt to complex topologies. Thread’s routing is simpler and more efficient for small to medium networks, but Zigbee has proven itself at scale in commercial and industrial settings.

Matter does not run over Zigbee. This is a critical point. If you have a Zigbee device, it cannot speak Matter natively, because Matter requires IPv6 and Zigbee does not use IP networking. However, Zigbee devices can be exposed to Matter ecosystems via a Matter bridge. A bridge is a Matter device that represents non-Matter devices (Zigbee, Z-Wave, proprietary protocols) as Matter endpoints. For example, the Philips Hue Bridge can act as a Matter bridge, making your Zigbee Hue bulbs appear as Matter lights to Apple Home or Google Home. The bulbs themselves are still Zigbee devices, communicating with the Hue Bridge over Zigbee, but the bridge translates those into Matter commands on the IP network.

How Matter Abstracts Over Thread and Wi-Fi

Matter’s transport abstraction is one of its most important technical features, though it’s also a source of confusion. A Matter device can use Thread, Wi-Fi, or Ethernet as its network layer, and the choice is mostly invisible to the application layer. From the perspective of a Matter controller, a light is a light, whether it’s reachable via a Thread mesh or a Wi-Fi connection. The controller discovers the device via mDNS, establishes a secure Matter session, and sends commands. The controller doesn’t need to know or care about the underlying transport.

In practice, there are differences. Thread devices require a border router, and the border router must be reachable and properly configured for Thread traffic to flow. Wi-Fi devices connect directly to your access point, so there’s no border router dependency, but they consume more power and add more traffic to your wireless network. Wi-Fi Matter devices are typically AC-powered for this reason–??battery-powered Matter devices almost always use Thread, because Wi-Fi’s power draw is prohibitive for coin cell or AA battery operation.

Matter specifies that devices must use IPv6 link-local or unique local addresses (ULA) for local communication. The controller resolves the device’s hostname via mDNS, retrieves the IPv6 address, and sends commands as UDP datagrams for most operations, or TCP for larger exchanges like OTA firmware updates. Matter uses DTLS (Datagram Transport Layer Security) over UDP for session security, or TLS over TCP when reliability is required. The cryptographic material for these sessions is derived from the Fabric credentials provisioned during commissioning.

Thread networks use the 6LoWPAN adaptation layer, which compresses IPv6 headers to fit within the 127-byte 802.15.4 frame size. This compression is transparent to Matter–??Matter sees normal IPv6 packets, and the 6LoWPAN layer handles the compression and decompression. Thread border routers also perform ND (Neighbor Discovery) proxying, which allows Thread devices to be discovered via mDNS on the broader home network. Without proper ND proxying, your Thread devices won’t show up during Matter device discovery, which is a common failure mode for misconfigured or outdated border routers.

Matter also defines the concept of a Fabric. A Fabric is a trust domain, and devices can be part of multiple Fabrics simultaneously. When you commission a Matter device, you assign it to your controller’s Fabric. If you then commission it to a second controller (say, adding it to Google Home after it’s already in Apple Home), it joins a second Fabric. The device maintains separate credentials for each Fabric, and it responds to commands from controllers in any Fabric it belongs to. This is how multi-admin works, and it’s one of Matter’s key differentiators. A Zigbee device is bound to one coordinator; a Matter device can serve multiple ecosystems at once.

Why Hubs and Border Routers Still Matter

The Matter marketing pitch often implies that hubs are obsolete–??just commission devices directly to your phone or smart speaker and you’re done. In practice, hubs and border routers remain critical pieces of infrastructure, especially for Thread-based Matter devices. A Thread device cannot communicate outside its mesh without a border router. If you buy a Matter-over-Thread bulb and you don’t have a border router, the bulb will not pair, or it will pair but be unreachable once commissioning completes.

Apple’s HomePod mini, HomePod 2nd gen, and Apple TV 4K (2022 or later) all include Thread border routers. Google’s Nest Hub (2nd gen) and Nest Wifi Pro also include Thread border routers. Amazon’s Echo devices do not include Thread radios as of early 2026, though Amazon has announced plans to add Thread support. If you’re an Alexa household and you want to use Matter-over-Thread devices, you’ll need to add a third-party Thread border router, such as an Eve Thread border router or a Home Assistant instance with a Thread radio dongle.

Border routers do more than just route packets. They manage the Thread network itself: forming the network, assigning router roles, distributing the network key, and handling security credentials. If you have multiple border routers on the same network, they coordinate to form a single logical Thread network, which improves redundancy and coverage. This coordination happens via a protocol called Thread Border Router Management, and it’s mostly automatic, but misconfiguration or firmware bugs can cause split-brain scenarios where devices get orphaned on separate Thread networks.

Hubs also serve another function: local execution and automation. Matter commands can be sent directly from your phone to a device, but if you want automations to run when your phone is off-network, you need a hub that remains local and active. Apple Home uses HomePod or Apple TV as the home hub. Google Home uses Nest Hub or Chromecast. SmartThings uses the SmartThings Hub or SmartThings Station. These hubs run the automation logic locally, so your lights turn on at sunset even if the internet is down or your phone is in airplane mode.

Matter also introduced the concept of a Matter controller, which is distinct from a border router. A controller is a device that commissions Matter devices and sends them commands. Your iPhone running the Home app is a controller. A Nest Hub is both a controller and a border router. A simple Thread border router like the Eve Border Router is only a border router–??it doesn’t run a Matter controller, so you can’t use it to commission devices, but it provides the network infrastructure that other controllers rely on.

What Matter 1.4 Actually Changed

Matter 1.4 was released in May 2025, and it represented the first major functional expansion since the initial 1.0 release. The earlier 1.x updates focused on bug fixes, certification improvements, and stability, but 1.4 added new device types, enhanced existing features, and addressed several pain points that had frustrated early adopters.

The headline feature of Matter 1.4 was support for solar panels, batteries, and EV chargers. These device types had been conspicuously absent from earlier specs, and their addition signals Matter’s ambition to cover the entire home energy ecosystem, not just lighting and climate control. The new Energy Management cluster defines attributes and commands for monitoring power flow, battery state of charge, and charge scheduling. This is particularly relevant as home energy systems become more common, and it positions Matter as a potential integration layer for solar inverters, home batteries like the Tesla Powerwall, and Level 2 EV chargers.

Matter 1.4 also improved multi-admin handling, particularly around Fabric synchronization. In earlier versions, adding a device to a second Fabric was error-prone, and there were edge cases where removing a device from one ecosystem would orphan it in another. The 1.4 spec clarifies the behavior for Fabric removal and credential updates, and it introduces better error codes and reporting for multi-admin failures. In practice, this means that commissioning a device to Apple Home and then adding it to Google Home is now more reliable, and you’re less likely to end up in states where the device is half-joined to both and fully functional in neither.

Enhanced Matter Bridges are another 1.4 feature. Bridges allow non-Matter devices to appear as Matter endpoints, and 1.4 formalizes how bridges report device metadata, handle dynamic device addition and removal, and expose custom clusters for advanced functionality. This is relevant for Zigbee and Z-Wave hubs that want to expose their existing device ecosystems to Matter controllers. The Philips Hue Bridge’s Matter support, for example, benefits from the 1.4 bridge spec, allowing Hue bulbs to appear as Matter lights with correct color temperature ranges, transition times, and effect support.

Matter 1.4 also refines Thread commissioning. One of the most common failure modes in Matter 1.0 through 1.3 was devices that successfully paired over BLE but then failed to join the Thread network, leaving them in a half-commissioned state. The 1.4 spec tightens the requirements for Thread network credential provisioning, adds better diagnostics for border router reachability, and clarifies how devices should behave if the Thread network is temporarily unreachable during commissioning. Device manufacturers have also improved their firmware based on lessons learned from the first two years of Matter deployments, so the combination of spec improvements and better implementation yields a noticeably better experience.

Other additions in Matter 1.4 include enhanced scenes (supporting mood lighting and transition effects), improved door lock reporting (better battery and jammed-bolt status), and expanded sensor support for air quality, water leak, and smoke/CO detection. The device type count in Matter 1.4 stands at over 30, up from the initial 15 in Matter 1.0, and the CSA has a roadmap for additional device types in future releases, including cameras, appliances, and more complex HVAC systems.

Real-World Device Pairing Pitfalls

Despite the improvements in Matter 1.4, pairing and commissioning remain the most common source of frustration. The multi-step process–??BLE discovery, network credential provisioning, IPv6 reachability, Fabric assignment–??has many potential failure points, and error reporting is often vague or absent entirely. Here are the practical issues you’re likely to encounter.

First, make sure your border router is actually functioning. If you’re pairing a Thread device, open the home app for your ecosystem (Apple Home, Google Home, SmartThings) and verify that your border router shows as online and active. Apple Home shows this under Home Settings –?? Hubs & Bridges; Google Home shows it under Thread border routers. If the border router isn’t listed or shows offline, your Thread device will not pair successfully, even if BLE discovery works.

Second, network segmentation and VLANs can break mDNS. If your Matter controller (phone or hub) is on a different subnet or VLAN from your border router or Wi-Fi devices, mDNS traffic won’t cross the boundary unless you’ve configured mDNS reflectors or Avahi forwarding. This is a common issue in more complex home networks, especially those using UniFi or similar prosumer gear. The symptom is that devices pair successfully but then never show up as reachable, or they show as “no response” immediately after pairing. The fix is either to put all Matter devices and controllers on the same VLAN, or to configure multicast DNS forwarding on your router.

Third, QR code scanning is finicky. The Matter QR code encodes the setup discriminator and PIN, and it must be scanned precisely for pairing to initiate. Poor lighting, small print, or damaged labels can cause scan failures. If the QR code isn’t working, most devices also support manual entry of the 11-digit setup code, which is usually printed below the QR code. Manual entry is slower but more reliable if the QR scan repeatedly fails.

Fourth, device firmware matters. Many devices ship with pre-Matter firmware or early Matter firmware that doesn’t fully comply with the current spec. Always check for firmware updates before troubleshooting pairing issues. Some vendors require you to use their proprietary app to update firmware before commissioning the device into Matter, which is frustrating but necessary. Nanoleaf, Eve, and Aqara all have this requirement for certain products.

Fifth, Fabric limits can cause silent failures. Devices typically support 3 to 5 simultaneous Fabrics, but the exact limit varies by manufacturer and device type. If you’re trying to add a device to a sixth Fabric, it will fail, often without a clear error message. The solution is to remove the device from an existing Fabric before adding it to the new one. This is done in the device settings within the home app, usually under a “Remove from [ecosystem]” option.

Finally, there’s the issue of device responsiveness after pairing. Thread end devices (battery-powered sensors, switches) sleep most of the time to conserve power, and they only wake up periodically to check for messages. This means that commands sent to these devices can have latency–??sometimes a second or more–??which feels sluggish compared to Wi-Fi devices or Zigbee devices on a well-tuned network. This isn’t a bug; it’s a tradeoff for battery life. If you need instant response, choose AC-powered devices or Wi-Fi Matter devices instead of Thread battery-powered ones.

Whether to Buy Thread-Enabled Devices Today

The practical question for anyone building or expanding a smart home in 2026: should you prioritize Thread-based Matter devices, or stick with Wi-Fi Matter, Zigbee, or proprietary ecosystems? The answer depends on your priorities, existing infrastructure, and tolerance for complexity.

Thread’s advantages are clear: low power consumption, mesh reliability, and future-proofing via Matter. If you’re starting from scratch, Thread is the most forward-looking choice, especially for battery-powered devices like contact sensors, motion sensors, and buttons. Thread’s mesh topology means that adding more devices actually improves network coverage and reliability, which is not true for Wi-Fi or hub-and-spoke systems like Zigbee with a weak central hub.

However, Thread requires a border router, and not all ecosystems provide one. If you’re an Alexa user, you’ll need to add a separate border router or switch to a different ecosystem for full Thread support. If you’re already invested in Apple or Google hardware, Thread is a no-brainer–??your existing HomePod or Nest Hub provides the border router, and you can start adding Thread devices immediately.

Wi-Fi Matter devices are simpler in one sense–??they don’t need a border router–??but they add load to your wireless network and consume more power. For AC-powered devices like smart plugs, switches, and bulbs, Wi-Fi is fine. For battery-powered devices, Wi-Fi is impractical, and you’ll be replacing batteries constantly. If you see a battery-powered Wi-Fi Matter device, be skeptical–??it’s either using a very large battery, or the manufacturer is overstating battery life.

Zigbee remains a viable choice, especially if you’re already invested in Zigbee infrastructure like a Hue Bridge or SmartThings Hub. Zigbee devices are mature, widely available, and often cheaper than Thread equivalents. The downside is that Zigbee is not Matter-native, so you rely on bridges to expose Zigbee devices to Matter controllers. This works, but it’s an extra layer of abstraction, and it means your devices aren’t directly Matter-capable–??they’re Matter-adjacent via the bridge.

One consideration that’s easy to overlook: device availability. As of early 2026, there are more Zigbee devices on the market than Thread Matter devices, especially in niche categories like radiator thermostats, water valves, and specialty sensors. If you need a specific device type and it’s only available in Zigbee, that’s your answer. Over time, the balance will shift as more manufacturers release Matter-native products, but for now, Zigbee still has the deeper catalog.

For most people building a new smart home, the recommendation is: buy Thread-based Matter devices for battery-powered sensors and buttons, Wi-Fi Matter for AC-powered plugs and switches, and use Matter bridges for any legacy Zigbee or Z-Wave devices you already own or can’t find Matter equivalents for. This hybrid approach gives you the benefits of each protocol without locking you into a single stack. It also means you’re buying into the Matter ecosystem gradually, which reduces risk if Matter adoption stalls or vendors exit the space.

The Practical Reality of Protocol Coexistence

The technical architecture of Matter, Thread, and Zigbee creates a landscape where all three protocols coexist, sometimes harmoniously, sometimes awkwardly. Matter is the newest and most ambitious, but it’s also the least mature in terms of device availability and field-tested reliability. Thread provides the low-power mesh networking that battery-powered Matter devices need, but it requires border routers and careful network planning. Zigbee is the incumbent–??mature, widely deployed, and functionally complete–??but it’s not part of the Matter native stack, so it lives on as a parallel ecosystem, accessible via bridges.

For technical users, the key insight is that these protocols operate at different layers and serve different purposes. Thread is not an alternative to Matter; it’s the transport layer that Matter uses for low-power devices. Zigbee is an alternative to the combination of Thread plus Matter, offering a complete stack that works today but doesn’t natively interoperate with Matter controllers. Understanding this layering explains why you need a border router for Thread but not for Zigbee, why Matter devices can work over both Thread and Wi-Fi, and why Zigbee devices can appear in Matter ecosystems only via a bridge.

The state of the ecosystem in 2026 is transitional. Matter 1.4 has made the technology credible, and major vendors are shipping Matter-native devices at scale. But Zigbee isn’t going away, and proprietary ecosystems like Hue, Aqara, and Tuya continue to release devices that work within their own apps while also offering Matter bridges for interoperability. The practical smart home in 2026 is multi-protocol, and the tools to manage that complexity–??Home Assistant, Hubitat, HomeBridge–??are more important than ever for anyone who wants full control rather than ecosystem lock-in.

The promise of Matter was universal interoperability, and it delivers on that promise, but only at the command level. A Matter light turns on when you send it an On command, regardless of whether you’re using Apple Home, Google Home, or Samsung SmartThings. But the experience of adding that light, updating its firmware, configuring automation, and troubleshooting when it goes offline still varies significantly across ecosystems. Matter standardizes the protocol, not the user experience, and vendors continue to differentiate on app design, automation engines, and cloud integrations.

For those building homelabs or experimenting with open-source platforms, Matter opens up interesting possibilities. Home Assistant’s Matter integration allows you to commission Matter devices directly into Home Assistant, bypassing proprietary ecosystems entirely. This gives you local control, YAML-based automation, and the ability to integrate Matter devices with non-Matter protocols like MQTT, Modbus, or custom APIs. Home Assistant can also act as a Matter bridge, exposing devices from other protocols (Zigbee, Z-Wave, ESPHome) as Matter endpoints, which means you can use a single Matter controller (like Apple Home) to control a mixed fleet of devices. This is powerful for those who want flexibility, but it requires more setup and maintenance than staying within a single vendor ecosystem.

Looking forward, the CSA has a clear roadmap for expanding Matter’s device type coverage. Cameras, appliances, garage doors, and irrigation controllers are all in development for future Matter releases. The protocol will mature, device availability will improve, and the rough edges around commissioning and multi-admin will smooth out. But the fundamental architecture–??Matter as application layer, Thread and Wi-Fi as transport, Zigbee as parallel stack–??will remain. Understanding that architecture today positions you to make better device choices, avoid compatibility dead ends, and build a smart home that works reliably across ecosystems.


Related Auburn AI Products

Building a homelab or self-hosting content site? Auburn AI has practical kits:

For general informational purposes only; not professional advice. Posts may contain affiliate links. Learn more.
Scroll to Top