Part 4 of 5 in our Edge to Enterprise series. After ISA-95 gave the plant a vocabulary, CATIM Edge IPC put intelligence at the edge and The End of API Chaos made the case for one API, this post answers the question that last one raised most.
After our article on The End of API Chaos, one question came back more than any other: isn't i3X just MQTT with extra steps?
It is a fair question. At first glance they look like the same animal — both let a dashboard subscribe to live plant values, both move data the moment it changes, both sit at the heart of modern Unified Namespace architectures. But the comparison misses a category difference, and that difference decides how much integration code you will be writing for the next decade.
MQTT is a transport. i3X is an information interface. MQTT's job is to move bytes between publishers and subscribers, quickly and cheaply — and it is superb at it. It says precisely nothing about what those bytes mean. i3X's entire job is the meaning.
The stranger test
Here is the test that separates them. Take an application that has never seen your plant — a new analytics tool, a customer's MES, an AI agent — and connect it.
On MQTT, the stranger is lost. It can subscribe to # and watch bytes stream past, but it must be told — out-of-band, by a document or a phone call — which topics exist, what the payloads contain, which field is the temperature and which is the setpoint. The broker cannot answer any of those questions, because a broker does not know. Topic conventions like a well-groomed UNS tree, or payload conventions like Sparkplug B, soften this — but they are agreements between people, not contracts a server enforces. Nothing stops the next device publishing something that breaks every assumption your app made.
On i3X, the stranger asks the server itself: what exists here? One call lists the namespaces. Another lists the object types — each one a published JSON Schema the data must conform to. Another walks the objects and their relationships: this sensor belongs to this machine, this result came from this job. Then it reads values, each one arriving as a Value-Quality-Timestamp triple that says not just what the number is, but whether to trust it and when it was true.
We did not run this test on a whiteboard. We stood up an i3X server on our edge platform, pointed an AI agent at it cold — no plant briefing, no custom integration code — and it discovered the model, searched it semantically, and answered plain-English questions about live PLC values. That is the app-centric promise made good, and it is only possible because the meaning travels with the data.
Where the differences bite
MQTT
i3X
Category
Pub/sub message transport, broker in the middle
Contextualised information API — plain HTTPS + JSON, no broker
Discovery
None — topics must be known in advance
The server describes itself: namespaces, types, objects, relationships
Data model
Opaque payload; conventions are agreements, not contracts
Published JSON-Schema types, enforced and conformance-testable
Context
A topic string's path segments
A navigable relationship graph — equipment, jobs, lineage
Trust
Payload bytes
Value + quality + timestamp on every read
History
Not MQTT's job — bolt on a historian with its own API
Live and historical values through the same endpoints
Delivery
QoS per message; what you never subscribed to is simply gone
Acknowledged sequence numbers; loss is explicit, never silent
Writes
Any client allowed to publish on a topic can change it
Each client has its own token and role; a write is checked against its range, logged, and confirmed only once it is read back
One row deserves a story. During our bench testing, the PLC behind our i3X server went down mid-demo. Every consuming client immediately saw its values flip to quality: Bad — not stale numbers that looked fine, not a frozen dashboard quietly lying. When the PLC returned, values flipped back to Good, automatically. An opaque byte stream cannot make that promise; a quality-carrying information interface makes it by design.
Complementary, not competitors
Here is the twist the title doesn't promise: this is not a contest, and you do not have to pick a side.
In a well-built architecture — the kind we described in CATIM Edge IPC: the ultimate OT intelligence — MQTT and i3X sit at different altitudes. MQTT does what it was built for: cheap, fan-out, publish-once telemetry. On our edge platform, a Unified Namespace over MQTT is the data hub where the controller, the AI and every other service share live state. The platform turns those values into a typed, governed model, and each value keeps its quality and timestamp. And i3X is how everything above — dashboards, analytics, MES, AI — consumes that model, the controller's data and the Unified Namespace through one API, without a line of vendor-specific glue code.
The i3X standard itself agrees: its reference implementation ships an MQTT data source, ingesting broker traffic as one feed into the model — with type generation bolted on top, precisely because the transport carries no types of its own. MQTT as the hub inside the platform; i3X northbound out of it. Each doing the one job it is actually designed for.
This also puts the architecture exactly where ISA-95's semantic models want it: the standard vocabulary lives in the model layer, and i3X is simply the universal way every level — right up to a Level 4 ERP or a cloud AI — asks questions of it.
The question to ask your architecture
So the next time someone frames it as i3X vs MQTT, reframe it: who in my architecture is responsible for meaning? If the honest answer is "a PDF, a wiki page and the engineer who left last year", your transport layer is fine — and your information layer is missing.
If you are...
The question to take to your next project review
An executive
How much of our integration budget goes on re-explaining our data to every new application?
A project manager
When we add an application next year, is it a configuration task or another integration project?
An engineer
Can a new client discover our model, and tell a dead device from a steady process, without asking anyone?
The standard is open, the spec is public at i3x.dev, and an afternoon with its reference server will teach you more than any comparison article. We know, because that is how we started — and our edge platform now reports 1.0 Compatible on the official i3X conformance suite against live CODESYS PLC data.
What would a stranger learn from your plant, unassisted?
The Edge to Enterprise series
- 4 Surprising Truths About ISA-95 - the vocabulary every system shares
- CATIM Edge IPC: the ultimate OT intelligence - why intelligence belongs at the edge
- The End of API Chaos - one API for every application
- i3X vs MQTT: One Moves Bytes, the Other Moves Meaning - moving bytes versus moving meaning (you are here)
- Sense, Decide, Act: The Controller Is the Platform - the platform we built on these ideas
Previous: The End of API Chaos · Next: Sense, Decide, Act: The Controller Is the Platform
About CATIM. CATIM - Creating Automation Technology In Motion - empowers people to engineer automation solutions that solve hard technical problems. Working on a data or AI project? Get in touch.