JoinCORE — EMV payment kernel

This proprietary payment kernel offers full support of the 4.3 specification, which is a basis for our payment solutions.

The EMV kernel supports both online issuer authentication and cardholder verification (online PIN) and offline authentication transactions (SDA, DDA, CDA) and cardholder verification (offline PIN). The core can be configured to support no-PIN transactions for different amounts as prescribed by the rules of payment systems. It supports contact and contactless cards of the most popular payment systems (MasterCard, VISA, MIR) and tokenized cards on devices supporting Apple Pay, Google Pay, Samsung Pay, Android Pay, and Mir Pay.

Key Benefits of JoinCORE

Cross-platform operation

Compatible with various POS equipment, validators, and SoftPOS solutions based on Windows/Linux (x86-64), Android (ARM), Elbrus (E2K), Baikal (ARM).


Built in C++, JoinCORE can be ported to any platform. (The platform must have a C++ compiler of at least ISO/IEC 14882:2011 (С++11)).

Easy to update

The flexibility of the JoinCORE architecture makes it easy to make changes in payment kernels and perform quick updates without rebuilding the client application.

Modular architecture

JoinCORE's main layer is written in C++, and payment system kernels are built in Lua.

EMV 4.3 compliance

JoinCore supports all functions available in the EMV 4.3 specification.

Easy to develop

JoinCORE's flexible architecture allows using it in any industry.

Kernel library

Global Kernels

EMVCo Contact

MasterCard Contactless

AMEX Expresspay

JCB J/Speedy CTL

Discover D-PAS

UnionPay QuickPass

Domestic Kernels

MIR (Russia)

Bancomat (Italy)

CPACE (Europe)

GiroCard (Germany)

Idemia WISE

Interac Flash (Canada)

MADA (Saudi Arabia)

NPCI RuPay (India)

Thales PURE

Flexible architecture

JoinCORE is a provided as a standalone component with built-in functionality. A user can always implement dynamic loading of the payment system kernel alongside those included. To incorporate JoinCORE into their solution, a user has to (1) create an object of the class that inherits the classes declared in the library and implements the peripheral interfaces described in the library (to interact with readers, PIN pads, crypto systems) and (2) call methods of this class at the right time to process a card. We also provide all the necessary components for easy interaction with the library from C++ and Java.

As agreed with the customer, the JoinCORE format can be changed to a shared library with a specific API or a target platform application connected to the environment with asynchronous messages (in a broad sense: both operating system messages or messages through sockets). The user gets the API and protocol description in a convenient form.


JoinCORE EMV Kernel Compliance Certificate for MIR payment system specification


JoinCORE EMV Kernel Compliance Certificate for MIR payment system specification (SoftPOS/TapOnPhone)