NIMIQ.TOP

# Release #1: NTMP — Nimiq Transaction Messaging Protocol

It’s finally here: the first release of Nimiq Release Week!

This one took a little longer than expected. Turns out designing a messaging protocol is quite a bit of work. Who knew ?

Nimiq, but for messages#

We mostly know Nimiq as a payment network. But every Basic Transaction can also carry up to 64 bytes of custom data.

That means Nimiq can transport more than money. It can transport messages.

With NTMP, clients and services don’t need a direct connection to each other. They communicate by writing transactions to the blockchain and reading them back later. Thanks to the Nimiq Web Client, this can even work directly inside a browser - without relying on a public blockchain RPC.

Of course, 64 bytes isn’t much. Larger messages must be split into fragments, sent across multiple transactions, and safely put back together.

That’s where NTMP comes in.

Here is the first public draft of the Nimiq Transaction Messaging Protocol.

What does NTMP do?#

NTMP is built in layers. Developers can use only the simple parts or build on top of the full protocol.

At the basic level, NTMP defines how to:

  • split messages into transaction-sized fragments
  • put them back together in the correct order
  • handle duplicates, missing fragments, retries, and reorgs
  • clearly mark where a message starts and ends
  • keep temporary blockchain accounts clean

The bigger vision adds:

  • encrypted sessions
  • request / reply messaging
  • offline inboxes
  • address negotiation
  • structured errors and message rejections
  • client-funded responses
  • session and address recovery
  • future Service Discovery and pricing

In short: start with a few message fragments and build all the way up to encrypted communication sessions.

What could you build with it?#

A few ideas:

  • asynchronous APIs over Nimiq
  • encrypted browser-to-service messaging
  • apps that work without direct server connections
  • offline-capable inboxes
  • notifications and signed public records
  • small censorship-resistant messengers
  • services without inbound ports or public HTTPS endpoints

Could you build a WhatsApp or Telegram alternative with it? Kind of. But NTMP is better suited for smaller, valuable, or censorship-resistant messages than typing indicators, huge attachments, and nonstop chat traffic.

A quick reality check#

NTMP does not make communication completely anonymous.

Message contents can be encrypted, but addresses, transaction counts, values, and timing remain visible on the blockchain. Published transactions also cannot be deleted later.

The current prototype uses X25519 and is not post-quantum secure yet. A hybrid ML-KEM/X25519 profile is planned.

Service Discovery, dynamic pricing, the future fee model, and parts of recovery are also still work in progress.

What’s next?#

Next up:

  • stabilize the wire formats
  • add test vectors and interoperability tests
  • finish the Message Address and Commit flow
  • build developer-friendly libraries and examples
  • add Service Discovery
  • implement the post-quantum profile
  • get more eyes on the protocol and its security

NTMP is still an early draft - but now it’s out there and ready to be discussed, tested, challenged, and improved.

Got feedback?#

Ideas, questions, edge cases, and security concerns are very welcome.

Contact the nimiq.top team at [hi@nimiq.top](mailto:hi@nimiq.top) or find us on the official Nimiq Discord server in the #nim-re_pool channel.