TTQ Decoder
Paste a TTQ (tag 9F66) and see what the contactless reader told the card about its capabilities and requirements.
Runs entirely in your browser. Nothing you paste is uploaded, logged or stored.
Terminal Transaction Qualifiers (tag 9F66)
Contactless reader capabilities, sent to the card in the PDOL. Originally Visa qVSDC but now widely reused. The card reads it and decides which CVM to ask for, so a wrong TTQ is a common cause of "why is it asking for a signature".
Terminal Transaction Qualifiers bit table (tag 9F66)
4 bytes, 8 hex characters. Byte 1 is the leftmost, and b8 is the most significant bit of each byte.
Byte 1
| Bit | Hex | Meaning when set |
|---|---|---|
| b8 | 80 | Mag-stripe mode supported |
| b7 | 40 | Reserved for future use |
| b6 | 20 | qVSDC / EMV mode supported |
| b5 | 10 | EMV contact chip supported |
| b4 | 08 | Offline-only reader |
| b3 | 04 | Online PIN supported |
| b2 | 02 | Signature supported |
| b1 | 01 | Offline Data Authentication for Online Authorisations supported |
Byte 2
| Bit | Hex | Meaning when set |
|---|---|---|
| b8 | 80 | Online cryptogram required |
| b7 | 40 | CVM required |
| b6 | 20 | (Contact chip) offline PIN supported |
| b5 | 10 | Reserved for future use |
| b4 | 08 | Reserved for future use |
| b3 | 04 | Reserved for future use |
| b2 | 02 | Reserved for future use |
| b1 | 01 | Reserved for future use |
Byte 3
| Bit | Hex | Meaning when set |
|---|---|---|
| b8 | 80 | Issuer Update Processing supported |
| b7 | 40 | Consumer Device CVM supported Lets a phone or watch unlock stand in as the CVM. |
| b6 | 20 | Reserved for future use |
| b5 | 10 | Reserved for future use |
| b4 | 08 | Reserved for future use |
| b3 | 04 | Reserved for future use |
| b2 | 02 | Reserved for future use |
| b1 | 01 | Reserved for future use |
Byte 4
| Bit | Hex | Meaning when set |
|---|---|---|
| b8 | 80 | Reserved for future use |
| b7 | 40 | Reserved for future use |
| b6 | 20 | Reserved for future use |
| b5 | 10 | Reserved for future use |
| b4 | 08 | Reserved for future use |
| b3 | 04 | Reserved for future use |
| b2 | 02 | Reserved for future use |
| b1 | 01 | Reserved for future use |
Other fields: TVR decoder , TSI decoder , AIP decoder , 9F33 decoder , 9F34 decoder , and the rest (AUC, CID, 9F40, 9F35, CTQ) in the bit field decoder .
What the TTQ is
Terminal Transaction Qualifiers is tag 9F66, four bytes that a contactless reader
sends to the card. The card asks for it in its PDOL and receives it in the GET PROCESSING
OPTIONS command, so it arrives before the card has decided anything. It comes from Visa's
contactless specification and is now requested by cards well beyond Visa.
The readings here are the published Visa ones. Another scheme's kernel may assign the same bits differently, so for a non-Visa card treat the decode as a starting point.
Byte 1 is configuration
Byte 1 describes the reader: whether it supports mag-stripe mode and EMV mode over
contactless, whether the same device has a contact chip reader, whether it is offline only,
and whether it can take an online PIN or a signature. Take 36000000. Byte 1 is
36, which is 20 plus 10 plus 04 plus
02: EMV mode, contact chip, online PIN and signature.
Byte 2 changes with the amount
Two bits in byte 2 are set per transaction. "CVM required", b7, is set when the amount reaches the reader's CVM limit. "Online cryptogram required", b8, is set when the reader wants the transaction to go online, for example because the amount is over its contactless floor limit.
So one reader sends several TTQs. A small tap on the reader above goes out as
36000000. Over the CVM limit, byte 2 becomes 40. Over the floor
limit as well, it becomes C0. Two different values from one device are expected,
and comparing them tells you which limit the amount crossed.
Byte 3 and device verification
Byte 3 b7 says the reader supports Consumer Device CVM, where unlocking a phone or watch counts as verifying the cardholder. If a reader does not set it, a wallet that has already verified its user can still be asked for a PIN or a signature, and that is a common explanation for a phone tap that behaves like a plastic card.
The card's reply
The card answers with the Card Transaction Qualifiers, tag 9F6C, two bytes saying
what it wants done: online PIN, signature, go online, or switch to the contact interface. It
also reports whether the device CVM was performed. Read the two together. The CTQ decodes in
the bit field decoder.
The contact equivalents are Terminal Capabilities on the reader's side and the AIP on the card's.
More EMV chip tools
All EMV chip toolsTLV parser
Paste BER-TLV hex and get a decoded tag tree with EMV names, formats and nested templates.
Bit fields
Decode TVR, TSI, AIP, AUC, CID, CVM Results, Terminal Capabilities and the contactless qualifiers.
TVR decoder
Paste a TVR (tag 95) and see which of its 40 bits are set, with the full bit table underneath.
TSI decoder
Paste a TSI (tag 9B) and see which processing steps the terminal says it performed.
AIP decoder
Paste an AIP (tag 82) and see what the card supports: SDA, DDA, CDA, cardholder verification and issuer authentication.
9F33 decoder
Paste Terminal Capabilities (tag 9F33) and see how the terminal reads cards, which CVMs it offers and which offline authentication it supports.
9F34 decoder
Paste CVM Results (tag 9F34) and see which method the terminal performed, under which condition, and whether it succeeded.
IAC vs TVR
Compare a TVR against the Issuer Action Codes to see exactly which bit forced the decline or the go-online.
CVM list
Break tag 8E into its X and Y amounts and the cardholder verification rules, in priority order.
Status words
What 9000, 6A82, 6985 and the rest of SW1SW2 actually mean.
AID lookup
Application identifiers to scheme and product: A0000000031010 and friends.
EMVCo QR
Decode a merchant-presented QR payload and verify its CRC.