---
title: MQTT Topic Reference
description: MQTT Topic Reference
---

[Skip to content](https://portal.sandgrain.eu/knowledge-base/mqtt-topic-reference#main-content)

English

Show submenu for translations

![SandGrain\_Logo\_RGB\_white-bijgesneden (1)](https://portal.sandgrain.eu/hs-fs/hubfs/SandGrain_Logo_RGB_white-bijgesneden%20(1).png?width=427&height=83&name=SandGrain_Logo_RGB_white-bijgesneden%20(1).png)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- [Contact us](https://portal.sandgrain.eu/login)

[Contact us](https://portal.sandgrain.eu/login?hsLang=en)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Knowledge Base](https://portal.sandgrain.eu/knowledge-base?hsLang=en)
2. [User Documentation](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en)
3. [SandGrain SDK](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#sandgrain-sdk)

October 6, 2026

# MQTT Topic Reference

**Who this is for:** Developers integrating with the message flow, and operators debugging what's on the broker.

**What you'll learn:** The MQTT topic namespace and the purpose and direction of each key topic.

All device messaging is namespaced under `sandgrain/v1/{tid}/...`, where **`{tid}` is the lowercase Token ID** and **topics are case sensitive**.

### Key topics

| Topic | Direction | Purpose |
| --- | --- | --- |
| `cmd/run_auth` | BE/FE to Device | Trigger an auth run; payload \`{"mode":1 |
| `status` | Device to BE | Device online / offline presence |
| `gw_log` | Gateway to BE | Per-step authentication progress / telemetry |
| `auth_result` | Gateway to BE | Final authentication result |
| `claim` | Cloud to BE | Forwarded CyberRock `claim_token_id` (auto-claim) |
| `req/{action}` | GW/BE to Cloud | CyberRock request: `requestCW`, `replyRW`, `requestRW`, `checkAuthStatus`, `computeRW`, `fwVerification`, `fwInstallation` |
| `rsp/{action}` | Cloud to GW/BE | Matching response for each `req/{action}` |

### How to read this

- The `req/` and `rsp/` pairs carry the challenge/response exchange with CyberRock. One request has one matching response on the same action.
- `cmd/run_auth` is how the frontend triggers authentication remotely; the `mode` value maps to the device menu options 1, 2, and 3.
- `status` is a retained presence message, so the broker's stored snapshot reflects whether a device is currently online.
- `gw_log` and `auth_result` are how the backend follows and records what happened during a run.

> **Note on the cellular variant.** The Nordic nRF9151 cellular build uses the same `sandgrain/v1/{tid}/` namespace, with `req/requestCW`, `req/replyRW`, `req/requestRW`, `req/checkAuthStatusCloud`, `req/fwVerification`, `req/fwInstallation`, a single `rsp/#` subscription, and `status` / `cmd/run_auth` / `gw_log` / `auth_result`.
> 
> See [*Nordic nRF9151-DK over LTE / Cellular*](https://portal.sandgrain.eu/knowledge-base/walkthrough-nordic-nrf9151-dk-over-lte-/-cellular?hsLang=en).

---

*Related articles: [System Architecture Overview](https://portal.sandgrain.eu/knowledge-base/system-architecture-overview?hsLang=en)· [The Authentication Flow & Error Management](https://portal.sandgrain.eu/knowledge-base/the-authentication-flow-error-management?hsLang=en) · [Environment & Runtime Configuration](https://portal.sandgrain.eu/knowledge-base/environment-runtime-configuration?hsLang=en)*

- [User Documentation](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#main-content)

    - [Quick Starter Guide](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#quick-starter-guide)
    - [User Manual](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#user-manual)
    - [Whitepaper](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#whitepaper)
    - [Token Leaflet](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#token-leaflet)
    - [Claim Token Procedure](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#claim-token-procedure)
    - [Daisy Chain](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#daisy-chain)
    - [Release Note](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#release-note)
    - [Naming Convention](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#naming-convention)
    - [SandGrain SDK](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#sandgrain-sdk)
    - [TrustBridge](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#trustbridge)
- [API Documentation](https://portal.sandgrain.eu/knowledge-base/api-documentation?hsLang=en#main-content)

    - [Device API Integration](https://portal.sandgrain.eu/knowledge-base/api-documentation?hsLang=en#device-api-integration)
    - [Daisy Chain and Attestation](https://portal.sandgrain.eu/knowledge-base/api-documentation?hsLang=en#daisy-chain-and-attestation)
- [SDK](https://portal.sandgrain.eu/knowledge-base/sdk?hsLang=en#main-content)

    - [Core Functions](https://portal.sandgrain.eu/knowledge-base/sdk?hsLang=en#core-functions)
    - [SandGrain SDK](https://portal.sandgrain.eu/knowledge-base/sdk?hsLang=en#sandgrain-sdk)

[![SandGrain\_Logo\_RGB\_white-bijgesneden (1)-1](https://portal.sandgrain.eu/hs-fs/hubfs/SandGrain_Logo_RGB_white-bijgesneden%20(1)-1.png?width=427&height=83&name=SandGrain_Logo_RGB_white-bijgesneden%20(1)-1.png "SandGrain_Logo_RGB_white-bijgesneden (1)-1")](https://portal.sandgrain.eu/?hsLang=en)

<https://www.facebook.com/> <https://www.twitter.com/> <https://www.instagram.com/> <https://podcasts.apple.com/> [mailto:email@email.com](mailto:email@email.com)

Copyright © 2026, sandgrain.eu