Link V2X
Software development toolkit for Java and .NET
Link V2X makes it easy to develop and deploy vehicle-to-everything (V2X) solutions that enhance safety, efficiency, and automation.
Built on open industry standards, Link V2X ensures your services are fully compatible with the growing V2X ecosystem—enabling real-time traffic updates, hazard warnings, and seamless coordination between vehicles, road infrastructure, and smart city systems.

Unlock the future of connected mobility
Seamless communication across vehicles & infrastructure
Link V2X removes the complexity of building communication technology, allowing you to focus on developing innovative services based on open standards. By ensuring seamless connectivity between vehicles and infrastructure, it not only enhances safety and efficiency but also connects you to a growing V2X ecosystem—expanding your reach to a broad customer base
Built-In Protection from the Start
Security is at the core of Link V2X. Our solution follows strict industry security standards to verify messages and prevent tampering, reducing risks and ensuring regulatory compliance. It also integrates with secure hardware for added protection—so you don’t have to worry about data integrity or unauthorized access.
Security & compliance you can trust
Accelerate Time-to-Market
Whether you’re developing mobility solutions in-house or working with partners, Link V2X is designed for speed and efficiency. With clear documentation, built-in security, and an intuitive developer experience, teams can build and deploy connected services in hours instead of weeks—saving time and reducing development costs.
Simplified development for faster deployment
No hidden risks, Full control
Transparent, secure, and independent
Unlike many alternatives, Link V2X is free from third-party dependencies, hidden backdoors, or unexpected data sharing. With offline license management and full control over integrations, your organization stays secure, compliant, and independent—ready for the future of connected mobility.
Technical specifications
Example of usage
Create a Denm-message and encode it to an ETSI compliant uPer encoded message with geonet security header
using Digitraffic.link.facilities;
using Digitraffic.link.transport;
String key = "";
//Optional: Add a logger to SDK
ConsoleLogger logger = new ConsoleLogger(Level.Info);
//If needed initialize software security module
SoftwareSecurityModule ssm = new SoftwareSecurityModule("", "", logger);
//Initiate PKI handling for signing and verification of messages
ETSISecurity_L0 sec = new ETSISecurity_L0("", ssm, false, logger);
//Initialize library (pass null for argument log to disable logging)
LibInitializer.Initialize(key, log, sec);
//Initialize clients (pass null for argument log to disable logging)
ConnectInitializer.Initialize(key, log);
/* Create a new EtsiMessage with geonetheader according to ETSI TS 103 097 */
EtsiMessage message = new EtsiMessage(CompileFlags.Signed);
/* Create a new payload of the type DENM211 (Decentralized Notication Message version 2.1.1) */
DENM211 payload = new DENM211();
/* Add the payload to the EtsiMessage */
message.Payload = payload;
/* Generate the complete Etsi binary message signed with Iee1609 credential */
byte[] binaryEtsiMessage = message.Encode();
import digitraffic.link.facilities.*;
import digitraffic.link.transport.*;
String key = "";
//Optional: Add a logger to SDK
ConsoleLogger logger = new ConsoleLogger(Level.Info);
//If needed initialize software security module
SoftwareSecurityModule ssm = new SoftwareSecurityModule("", "", logger);
//Initiate PKI handling for signing and verification of messages
ETSISecurity_L0 sec = new ETSISecurity_L0("", ssm, false, logger);
//Initialize library (pass null for argument log to disable logging)
LibInitializer.Initialize(key, log, sec);
//Initialize clients (pass null for argument log to disable logging)
ConnectInitializer.Initialize(key, log);
/* Create a new EtsiMessage with geonetheader according to ETSI TS 103 097 */
EtsiMessage message = new EtsiMessage(CompileFlags.Signed);
/* Create a new payload of the type DENM211 (Decentralized Notication Message version 2.1.1) */
DENM211 payload = new DENM211();
/* Add the payload to the EtsiMessage */
message.setPayload(payload);
/* Generate the complete Etsi binary message signed with Iee1609 credential */
byte[] binaryEtsiMessage = message.Encode();