TVR and TSI Decoder

Type a Terminal Verification Results or Transaction Status Information value to see which bits are set and what they mean. Click any bit to build a value, then check how the terminal will decide using the issuer and terminal action codes.

Terminal Verification Results 95

Layout:

Transaction Status Information 9B

Terminal action analysis

Standard layout follows EMV Book 3. Compares the TVR above with the issuer action codes from the card (9F0D, 9F0E, 9F0F) and the terminal action codes from your configuration. Leave an IAC empty if the card did not provide it: EMV then treats IAC-Denial as all zeros and IAC-Online and IAC-Default as all ones.

Terminal can go online:
IAC card
TAC terminal
Denial
9F0E
Online
9F0F
Default
9F0D

The example action codes are typical test values, not any scheme's official settings. Use the values from your card and terminal configuration.

About TVR and TSI

What is the TVR?

The Terminal Verification Results (tag 95) are five bytes the terminal fills in during an EMV transaction. Each bit records the outcome of one check: offline data authentication, processing restrictions, cardholder verification, terminal risk management and issuer authentication. A bit set to 1 means something needs attention; an all-zero TVR means every check passed.

What is the TSI?

The Transaction Status Information (tag 9B) is two bytes that record which functions the terminal actually performed. It does not say whether they succeeded; the TVR does that. Reading both together tells you, for example, whether offline authentication was skipped or performed and failed.

How does the terminal decide to approve, decline or go online?

In terminal action analysis, the terminal compares the TVR with the Denial codes first. Any match means an offline decline (AAC). If the terminal can go online, it then checks the Online codes and requests an ARQC on a match, otherwise a TC. If it cannot go online, it checks the Default codes instead. The card makes the final decision in its response to GENERATE AC.

How is the Kernel 2 TVR different?

Mastercard's Kernel 2 (EMV Contactless Book C-2) keeps the EMV Book 3 layout but uses byte 5 bits 4 to 1 for the relay resistance protocol: threshold exceeded, time limits exceeded, and a two-bit result (01 not performed, 10 performed). Its terminal action codes are tags DF8120 to DF8122.

How is the Kernel 8 TVR different?

Kernel 8 (EMV Contactless Book C-8) redefines the TVR. Byte 1 reports local authentication instead of SDA, DDA and CDA, byte 3 adds "Online CVM captured", and byte 5 holds the Kernel 8 format flag, an AID mismatch bit and the relay resistance result. Byte 5 bit 8 set means the TVR uses the Kernel 8 format; the decoder switches automatically when it sees it.

Why are some bits marked RFU or kernel-specific?

RFU means reserved for future use: EMV has not assigned the bit. Some byte 5 bits are used by contactless kernels for relay resistance, and their meaning depends on the kernel.