Copper M7

A .NET package that does all the heavy lifting when connecting to the EPEX M7 API.

Copper M7 makes it super easy to build tight real-time integration with EPEX.

Learn more

✅ Verified by EPEX ✅

Copper M7 has full support for M7 versions 6.15, 6.15 pt. 2, 6.16, and 6.17

EPEX M7 environments and versions

Built by Rebus FM

When building Copper Power Platform, the requirement for an M7 integration that was clean, usable, and confidence-inspiring led to the creation of Copper M7.

Because of its reliance on RabbitMQ/AMQP 0.9.1, a fairly involved messaging protocol, and the requirement of being able to gracefully handle failover, integrating with EPEX M7 is notoriously difficult.

Copper M7 hides all the messy details, making it possible for developers to focus on developing their own stuff. 🙂

It comes in the form of a few NuGet packages and is built with state-of-the art
.NET 6 / .NET 7 / .NET 8, integrating seamlessly into Microsoft's generic host.


+ much more!

  • For example:

  • Higher-level helpers: The ability to register handlers that will automatically be kept up-to-date with regards to interesting exchange entities, e.g. like products, orders, trades, etc.
  • Decoders: Helpers for decoding prices and quantities with correct observation of their respective value metadata
  • Caching: Automatic, in-process caching of relevant entities, like e.g. available areas, products, contracts, account information, orders (public as well as private), etc.
  • Request limiting: Request rates are automatically and without effort confined to stay within required limits, thus avoiding being penalized for flooding M7.
  • Heartbeat monitoring: An internal watchdog automatically monitors for M7 heartbearts, restarting the connection if the M7 server suddenly becomes quiet.
  • Flood warning: Instead of obscure errors, Copper M7 will warn you if your event processing is too slow and cannot keep up with the influx of broadcast events.

  • + more 🙂

Get in touch here to learn more!