reduktive OPC UA SDK

A C++20 SDK for building OPC UA clients and servers.

A C++20 SDK for building OPC UA clients and servers. It provides the client and server libraries, the shared types, encoding, transport, security, and address-space layers they are built on, and an asynchronous foundation on Boost.Asio.

v1.0.0-beta.1 — evaluation prerelease. Not represented as production-ready or certified. No commercial production licences are issued for prerelease versions.

DocumentationAPI referenceRepositoryLicence

Scope

Roles
Client and server, built from one set of OPC UA types, encoding, transport, security, and address-space code.
Concurrency
Asynchronous on Boost.Asio. The application supplies the executor; the SDK starts no threads of its own. Synchronous forms are provided at application boundaries.
Modelling
Typed built-ins, generated OPC UA data types, NodeSet import, address-space instantiation, and documented extension points.
Security
OpenSSL-backed policies, X.509 certificate handling, authentication, and role-based authorisation. An unconfigured server admits no sessions.
Libraries
Separately linkable core, address-space, client, server, and application libraries.

Platforms

Supported
Linux and Windows. GCC, Clang, and MSVC.
Minimum target
An application-class processor with a memory-management unit, running a full operating system — for example embedded Linux on an ARM Cortex-A.
Not yet validated
QNX, INTEGRITY, and VxWorks are expected to be suitable. No port has been completed or validated.
Not targeted
Bare-metal systems and MCU-class processors such as Cortex-M.

Verification

Unit tests
8,621
Integration tests
3,221
Source assertions
59,281
Compiler toolchains
GCC, Clang, and MSVC
Also applied
Address and thread sanitizers, static analysis, fuzzing, soak and load tests, and failure injection.

Integration tests drive a client and a server through a real TCP connection rather than exercising subsystems in isolation.

Release

Current
v1.0.0-beta.1
Q4 CY2026
Stable v1.0.0 and the end of the prerelease programme
Q1 CY2027
OPC UA PubSub support

Further betas will be published only where needed, followed by one or more release candidates.

Licence

The source is published on GitHub under the reduktive Source Available License Version 1.0. You can read it, use the unmodified SDK outside production, and pass on exact copies of it. You may not change it or distribute a changed version. Commercial licensing will follow once the product is formally released.

Licence terms