ISO 8583 Parser
Free · Reference · ~7 min read · Updated 2026-08-07

TVR Bits Explained: All 5 Bytes of EMV Tag 95

The Terminal Verification Results (EMV tag 95, five bytes) is the terminal's record of everything it checked and everything that went wrong during an EMV transaction. It travels in DE55 and it is the single most useful field when you are trying to answer "why did the chip transaction behave that way?"
On this page: Byte 1 · Offline data authentication · Byte 2 · Application processing · Byte 3 · Cardholder verification · Byte 4 · Terminal risk management · Byte 5 · Issuer processing · A set bit is not a decline

How do you read a TVR value?

TVR is five bytes, usually written as ten hex characters — for example 0000008000. Each byte covers one category of checks, and within a byte the bits are numbered b8 (most significant) down to b1. A bit set to 1 means "this condition occurred". Bits marked RFU below are reserved and should be zero.

Byte 1 — offline data authentication

Byte 1 records whether the terminal could cryptographically verify the card offline, and how that verification failed.

PositionMeaning
Byte 1 · b8Offline data authentication was not performed
Byte 1 · b7SDA failed
Byte 1 · b6ICC data missing
Byte 1 · b5Card appears on terminal exception file
Byte 1 · b4DDA failed
Byte 1 · b3CDA failed
Byte 1 · b2RFU
Byte 1 · b1RFU

Byte 2 — application processing

Byte 2 covers mismatches between what the card offers and what the terminal supports, plus card lifecycle problems such as expiry.

PositionMeaning
Byte 2 · b8ICC and terminal have different application versions
Byte 2 · b7Expired application
Byte 2 · b6Application not yet effective
Byte 2 · b5Requested service not allowed for card product
Byte 2 · b4New card
Byte 2 · b3RFU
Byte 2 · b2RFU
Byte 2 · b1RFU

Byte 3 — cardholder verification

Byte 3 is the CVM story: whether the cardholder was verified, and if not, what got in the way. This is the byte that most often explains a PIN-related dispute.

PositionMeaning
Byte 3 · b8Cardholder verification was not successful
Byte 3 · b7Unrecognised CVM
Byte 3 · b6PIN try limit exceeded
Byte 3 · b5PIN entry required and PIN pad not present or not working
Byte 3 · b4PIN entry required, PIN pad present, but PIN was not entered
Byte 3 · b3Online PIN entered
Byte 3 · b2RFU
Byte 3 · b1RFU

Byte 4 — terminal risk management

Byte 4 explains why the terminal decided to go online rather than approve offline. If you are investigating unexpected online traffic from a merchant, start here.

PositionMeaning
Byte 4 · b8Transaction exceeds floor limit
Byte 4 · b7Lower consecutive offline limit exceeded
Byte 4 · b6Upper consecutive offline limit exceeded
Byte 4 · b5Transaction selected randomly for online processing
Byte 4 · b4Merchant forced transaction online
Byte 4 · b3RFU
Byte 4 · b2RFU
Byte 4 · b1RFU

Byte 5 — issuer processing

Byte 5 records what happened after the issuer replied: whether issuer authentication passed and whether issuer scripts ran successfully.

PositionMeaning
Byte 5 · b8Default TDOL used
Byte 5 · b7Issuer authentication failed
Byte 5 · b6Script processing failed before final GENERATE AC
Byte 5 · b5Script processing failed after final GENERATE AC
Byte 5 · b4RFU
Byte 5 · b3RFU
Byte 5 · b2RFU
Byte 5 · b1RFU

Does a set TVR bit mean the transaction was declined?

No. TVR records observations, not decisions. A perfectly normal approved transaction routinely carries set bits — "transaction exceeds floor limit" simply means the terminal went online, which is what you want it to do.

The decision comes from comparing TVR against the Terminal Action Codes and Issuer Action Codes. Those masks say which observations should force a decline, which should force going online, and which can be ignored. Reading TVR without the action codes tells you what happened, not why the outcome was what it was.

In short: five bytes, b8 down to b1 in each. Byte 1 is crypto, byte 2 is application fit, byte 3 is CVM, byte 4 is why it went online, byte 5 is what the issuer's reply did. A set bit is an observation, not a verdict.

Read next