A0000000031010 is Visa's main payment application, A0000000041010 is Mastercard's, A000000333010102 is UnionPay credit. The first 5 bytes (the RID) pin down the scheme; the rest (the PIX) picks the product. The table lists 22 well-established AIDs across 11 RIDs, each row anchored for direct linking โ the same data is searchable in the AID lookup tool.
An AID is 5 to 16 bytes long and splits into exactly two parts:
A000000003 is Visa, A000000004 is Mastercard, A000000333 is UnionPay.Byte by byte, Visa's main application AID A0000000031010 is 7 bytes โ A0 00 00 00 03 10 10:
The PIX length varies by scheme: Amex's A00000002501 carries a single PIX byte (01), while UnionPay's A000000333010101 carries three (010101). Reading an unknown AID always works the same way โ take the first 10 hex characters to identify the scheme, then look the remainder up in that scheme's product list.
22 AIDs across 11 RIDs โ the well-established set, matching the AID lookup tool entry for entry. Product names are deliberately conservative: schemes add PIX values over time, and the complete authoritative list for any RID is that scheme's own specification.
| AID | Product / application | PIX |
|---|---|---|
RID A000000003 โ Visa | ||
A0000000031010 | Visa credit / debit (main application) | 1010 |
A0000000032010 | Visa Electron | 2010 |
A0000000032020 | V PAY | 2020 |
A0000000033010 | Interlink (debit network) | 3010 |
A0000000038010 | Plus (ATM network) | 8010 |
RID A000000098 โ US Common Debit (Visa) | ||
A0000000980840 | US Common Debit (RID A000000098) | 0840 |
RID A000000004 โ Mastercard | ||
A0000000041010 | Mastercard credit / debit (main application) | 1010 |
A0000000042203 | US Maestro / US Common Debit | 2203 |
A0000000043060 | Maestro (international debit) | 3060 |
A0000000046000 | Cirrus (ATM network) | 6000 |
RID A000000005 โ Maestro UK | ||
A0000000050001 | Maestro UK (formerly Switch, RID A000000005) | 0001 |
RID A000000025 โ American Express | ||
A00000002501 | Amex credit / charge | 01 |
RID A000000065 โ JCB | ||
A0000000651010 | JCB J Smart credit / debit | 1010 |
RID A000000152 โ Discover / Diners | ||
A0000001523010 | Discover / Diners Club International (D-PAS) | 3010 |
A0000001524010 | US Common Debit | 4010 |
RID A000000324 โ Discover ZIP | ||
A0000003241010 | Discover ZIP (contactless, RID A000000324) | 1010 |
RID A000000277 โ Interac | ||
A0000002771010 | Canadian debit (Interac / Interac Flash) | 1010 |
RID A000000333 โ UnionPay | ||
A000000333010101 | Debit | 010101 |
A000000333010102 | Credit | 010102 |
A000000333010103 | Quasi-credit | 010103 |
A000000333010106 | Electronic cash | 010106 |
RID A000000524 โ RuPay | ||
A0000005241010 | RuPay debit / credit | 1010 |
Three of these deserve a note. The US Common Debit rows (Visa A0000000980840, Mastercard A0000000042203, Discover A0000001524010) exist because the US Durbin Amendment requires every debit card to support at least two unaffiliated networks: the scheme's global AID routes over its own network, while the common AID lets the merchant route to regional debit networks โ both on one card is normal in US acquiring, not a misconfiguration. And UnionPay's electronic cash application (A000000333010106) is offline low-value payment whose balance lives in the chip, so those transactions never go online for authorization โ worth checking when a purchase appears to have no authorization record.
Two different EMV tags carry an AID, and they answer different questions:
| Tag | Name | Whose value it is |
|---|---|---|
9F06 | Application Identifier (AID) โ terminal | The entry from the terminal's configured candidate list that was used for selection |
4F | Application Identifier (AID) โ card | The application the card actually selected and ran (the FCI's tag 84, DF Name, echoes the same value at selection time) |
Both can appear inside DE 55 of an ISO 8583 authorization โ paste the field's hex into the EMV TLV parser and it splits out each tag, or check any single tag in the EMV tag lookup. The two values do not have to be identical, and a mismatch is usually not corruption โ it is partial matching at work, covered next. Tag-by-tag context for everything else in the field is in the EMV tag reference, the field itself in the ISO 8583 field guide.
A terminal does not need the full AID of every card application it accepts. Each entry in its candidate list can be a prefix of a card AID โ just the RID, or even shorter โ and each entry carries an ASI (Application Selection Indicator) flag saying whether only an exact match counts, or whether any card application starting with that prefix counts too. This is the application selection mechanism EMV Book 1 defines; the flag is set per entry in the terminal configuration.
With partial matching enabled, a terminal entry of A000000003 matches the card's A0000000031010, A0000000032010 and every other Visa application. In the resulting transaction data, 9F06 holds the terminal's (shorter) entry while 4F holds the card's full AID โ seeing them differ is the mechanism working, not an error. Compare the two as prefix-against-full before treating a mismatch as a defect.
The same mechanism explains two classic field complaints:
One chip can host several applications โ a card carrying a domestic scheme's application alongside an international one is the classic case, and the US Common Debit pairs in the table above are another. Terminal and card settle on one application through selection (the PSE/PPSE directory plus the priority each application declares), and the AID that wins determines which scheme's system the transaction runs through.
That makes tag 4F the starting point when the same card produces two transactions that were processed differently: pull DE 55 from both and compare the selected AID first. If they differ, the two transactions genuinely ran as two different applications, and everything downstream follows from that. Which application a given terminal ends up selecting, and what routing or pricing follows, is governed by scheme rules and your acquiring agreement โ check your counterparty's specification rather than assuming.
๐ The parser decodes DE 55 inside a full ISO 8583 message, AID included. For a single value, the AID lookup tool searches this same table by prefix or scheme name.