Skip to content
CardTools

TVR Decoder

Paste a TVR (tag 95) and see which of its 40 bits are set, with the full bit table underneath.

Runs entirely in your browser. Nothing you paste is uploaded, logged or stored.

Terminal Verification Results (tag 95)

A running record of everything the terminal believed went wrong during the transaction. The terminal compares it against the Issuer and Terminal Action Codes to decide approve / decline / go online. When you are diagnosing an unexplained decline, this is the first field to read.

5 bytes · 10 hex characters
Try:

Terminal Verification Results bit table (tag 95)

5 bytes, 10 hex characters. Byte 1 is the leftmost, and b8 is the most significant bit of each byte.

Byte 1: Offline data authentication

Bit Hex Meaning when set
b8 80 Offline data authentication was not performed Neither SDA, DDA nor CDA ran. Normal for online-only terminals.
b7 40 SDA failed
b6 20 ICC data missing A mandatory data object was absent from the card.
b5 10 Card appears on terminal exception file
b4 08 DDA failed
b3 04 CDA failed
b2 02 SDA selected Added in EMV 4.3.
b1 01 Reserved for future use

Byte 2: Card and application validity

Bit Hex Meaning when set
b8 80 ICC and terminal have different application versions
b7 40 Expired application
b6 20 Application not yet effective
b5 10 Requested service not allowed for card product Set when the transaction violates Application Usage Control (tag 9F07).
b4 08 New card The card has never been used online (ATC and Last Online ATC both effectively zero).
b3 04 Reserved for future use
b2 02 Reserved for future use
b1 01 Reserved for future use

Byte 3: Cardholder verification

Bit Hex Meaning when set
b8 80 Cardholder verification was not successful
b7 40 Unrecognised CVM The card asked for a CVM code the terminal does not implement.
b6 20 PIN Try Limit exceeded
b5 10 PIN entry required and PIN pad not present or not working
b4 08 PIN entry required, PIN pad present, but PIN was not entered Usually a cardholder cancel at the PIN prompt.
b3 04 Online PIN entered Informational. The PIN block goes to the issuer, so the terminal cannot know the result yet.
b2 02 Reserved for future use
b1 01 Reserved for future use

Byte 4: Terminal risk management

Bit Hex Meaning when set
b8 80 Transaction exceeds floor limit
b7 40 Lower consecutive offline limit exceeded
b6 20 Upper consecutive offline limit exceeded
b5 10 Transaction selected randomly for online processing
b4 08 Merchant forced transaction online
b3 04 Reserved for future use
b2 02 Reserved for future use
b1 01 Reserved for future use

Byte 5: Issuer authentication and scripts

Bit Hex Meaning when set
b8 80 Default TDOL used
b7 40 Issuer authentication failed The ARPC in tag 91 did not verify. Often a key or CVN mismatch rather than fraud.
b6 20 Script processing failed before final GENERATE AC
b5 10 Script processing failed after final GENERATE AC
b4 08 Relay resistance threshold exceeded Set by the Mastercard contactless kernel (EMV Book C-2).
b3 04 Relay resistance time limits exceeded Set by the Mastercard contactless kernel (EMV Book C-2).
b2 02 Relay resistance protocol performed Bits 2 and 1 are one field in Book C-2: 00 not supported, 01 not performed, 10 performed, 11 reserved. A byte of 02 is the check running, not a failure.
b1 01 Relay resistance protocol not performed Bits 2 and 1 read 01. With both clear, the protocol is not supported at all, which sets no bit.

Other fields: TSI decoder , AIP decoder , 9F33 decoder , 9F34 decoder , TTQ decoder , and the rest (AUC, CID, 9F40, 9F35, CTQ) in the bit field decoder .

What the TVR records

The Terminal Verification Results is tag 95, five bytes that start a transaction as all zeros. As the terminal works through the EMV steps it sets a bit each time a check fails, is skipped or cannot be completed. Each byte belongs to one stage: offline data authentication, card and application validity, cardholder verification, terminal risk management, and in byte 5 the things that happen after the card has spoken to the issuer.

The card usually asks for the TVR in the data for GENERATE AC, and the issuer receives it in DE 55, so all three parties end up holding the terminal's account of the transaction.

Reading one by hand

Take 0000048000. Split it into bytes: 00 00 04 80 00. Bytes 1 and 2 are clear. Byte 3 is 04, which is b3 on its own: an online PIN was entered. Byte 4 is 80, which is b8: the transaction exceeds the floor limit. That is an ordinary chip and PIN purchase going online, and nothing in it is a fault.

The Hex column in the table above gives the value of each bit alone. A byte with several bits set is their sum, so C0 in byte 1 is 80 plus 40: offline data authentication not performed, and SDA failed.

Values you will see often

0000000000 means the terminal recorded nothing. 0000008000 is the floor limit bit alone, which a terminal with a zero floor limit sets on every transaction. 8000008000 adds byte 1 b8, offline data authentication not performed, which is normal for an online-only terminal. 0080008000 has byte 2 b8 set: the card and the terminal carry different application version numbers, which is informational.

A set bit is not a decline

The TVR is a report. The decision comes from terminal action analysis, where the terminal compares the TVR against the Issuer Action Codes from the card and its own Terminal Action Codes: the Denial pair first, then the Online pair, then the Default pair if it cannot reach the issuer. A bit matters only when the same bit is set in the action code being checked. The IAC comparator does that comparison and names the bit that decided it.

Read it with the TSI

A clear bit has two possible meanings: the check passed, or the check never ran. For cardholder verification, issuer authentication and script processing, only the TSI tells them apart. Offline data authentication is the exception, because byte 1 b8 says outright that it was not performed.

The relay resistance bits in byte 5 are set by the Mastercard contactless kernel (EMV Book C-2). On a contact transaction, or under another kernel, expect them clear.

More EMV chip tools

All EMV chip tools