9F63

PUNATC(Track1)

PUNATC(Track1) is a bit mask, not a value in its own right: it tells the terminal and host exactly which digit positions within track 1's discretionary data actually carry the card's Unpredictable Number and its ATC, since Kernel 2's mag-stripe mode packs that dynamic material into a legacy-shaped track rather than into dedicated EMV tags. Its related tag, NATC(Track1) (9F64), then specifies how many of those positions specifically belong to the ATC portion, so a host parsing the discretionary data has both where to look (9F63) and how much of what it finds is the counter versus the unpredictable value. Getting this mask wrong doesn't produce a decode error in any conventional sense - the host will happily extract digits from the wrong positions and treat them as if they were the dynamic data, silently corrupting exactly the replay-protection mechanism the whole mag-stripe-mode design exists to provide, without any field along the way flagging that anything went wrong. See EMV Contactless Book C-2.

Interactive decoder

Paste a hex value for this tag to decode it in your browser. Nothing is sent anywhere.

Binary (6): 010203040506

This tag is not a bitmap; the decoder shows a format-based interpretation.

Decoded example

Example value: 010203040506

Related tags

Properties

Tag9F63
NamePUNATC(Track1)
FormatBinary
Length6 bytes
SourceCard (ICC)
Templates70
BooksEMV Contactless Book C-2

Frequently asked questions

What is EMV tag 9F63?
PUNATC(Track1) is a bit mask, not a value in its own right: it tells the terminal and host exactly which digit positions within track 1's discretionary data actually carry the card's Unpredictable Number and its ATC, since Kernel 2's mag-stripe mode packs that dynamic material into a legacy-shaped track rather than into dedicated EMV tags. Its related tag, NATC(Track1) (9F64), then specifies how many of those positions specifically belong to the ATC portion, so a host parsing the discretionary data has both where to look (9F63) and how much of what it finds is the counter versus the unpredictable value. Getting this mask wrong doesn't produce a decode error in any conventional sense - the host will happily extract digits from the wrong positions and treat them as if they were the dynamic data, silently corrupting exactly the replay-protection mechanism the whole mag-stripe-mode design exists to provide, without any field along the way flagging that anything went wrong. See EMV Contactless Book C-2.
What format and length does EMV tag 9F63 use?
Tag 9F63 uses the Binary format and is normally 6 bytes long.
Is tag 9F63 provided by the card or the terminal?
Tag 9F63 (PUNATC(Track1)) is provided by the Card (ICC).

Sources

  • C-2-Kernel-2-V2.11-Final-June-2023, p. 411

Receive site updates

Subscribe to receive site updates directly to your email

We won't send spam. You can unsubscribe at any time.