Panini Contenders Optic Basketball · NBA
2020-21 Contenders Optic
- Base set
- 100 cards · checklist
- Parallels
- 102 · 14 on the base set
- Released
- December 1, 2021
licensed (NBA)
Base set parallels · 14
- Black Pandoranot documentedunnumbered
- Gold Wavenot documentedunnumbered
- RedHobbyunnumbered
- Red Wavenot documentedunnumbered
- SilverHobbyunnumbered
- BlueHobby/99
- OrangeHobby/49
- Green Pulsarnot documented/25
- GoldHobby/10
- Gold VinylHobby/1
- Printing Plate BlackHobby/1
- Printing Plate CyanHobby/1
- Printing Plate MagentaHobby/1
- Printing Plate YellowHobby/1
Insert sets · 10
- All-Star Aspirations25 cards4 parallels
- Hoop Dreams25 cards4 parallels
- Lottery Ticket14 cards4 parallels
- Pick n Roll20 cards4 parallels
- Playing the Numbers Game30 cards4 parallels
- Rookies Asia25 cards2 parallels
- Suite Shots21 cards4 parallels
- Superstars10 cards4 parallels
- Team Tandems20 cards4 parallels
- Uniformity35 cards4 parallels
Autograph sets · 8
- 1983 Tribute Autographs10 cards9 parallels
- Legendary Contenders Autographs35 cards3 parallels
- Perennial Contenders Autographs30 cards3 parallels
- Rookie Ticket39 cards10 parallels
- Rookie Ticket Variations39 cards10 parallels
- Sophomore Contenders Autographs15 cards3 parallels
- Up and Coming Autographs19 cards3 parallels
- Veteran Ticket10 cards9 parallels
Open questions · 21show
- G-001 base_print_run recorded as unnumbered / basis assumed. No source STATES that the 2020-21 Contenders Optic base cards 1-100 are unserialised. The evidence is indirect but strong and consistent: tcdb prints a per-row serial flag on every numbered base parallel ("SN99" on Blue, "SN49" on Orange, "SN25" on Green Pulsar, "SN10" on Gold, "SN1" on Gold Vinyl and all four Printing Plates) and prints NO FLAG TOKEN ON ANY ROW of the base checklist or of Silver, Red, Black Pandora, Gold Wave or Red Wave; and both aggregators open the base ladder with the unfigured "Black Pandora, Gold Wave, Red, Red Wave, Silver" before "Blue #/99". Per EXTRACTION_SPEC 2.1 that is a rule I applied, not a statement I found, so the basis is assumed, not sourced.
- G-002 BASE SET SIZED AT 100 AGAINST A PARENT "Total Cards" OF 139, AND THE CATALOGUE IS SPLIT ON THIS CONVENTION WITHIN THE CONTENDERS LINE. EXTRACTION_SPEC 5.3 requires base_set_size to exclude an autograph block filed inside the parent checklist past the base run, and cards 101-140 are exactly that: every parent row 101-140 carries "AU, RC" while every row 1-100 carries no token; the Silver, Black Pandora, Gold Wave and Green Pulsar base parallels all state Total Cards "100" and stop there while Blue/Red/Orange/Gold/Gold Vinyl/Red Wave state "178"; both aggregators head a 100-card base set and a separate 39-card Rookie Ticket set; and the same parallel NAME carries different runs in the two ranges (base Orange is SN49, block Orange is #/25). THE DIVERGENCE, WITH EXACT FIGURES. (a) data/contenders-bkb-2019-20 made the OPPOSITE call on the same structural shape: base_set_size=165, note "All 165 are recorded in base_cards.csv because they share the single Season Ticket numbering", with 1-100 unsigned veterans, 101-145 Rookie Season Ticket autographs and 146-165 Rookie Season Ticket Stickers. (b) data/contenders-bkb-2021-22 also carries the inclusion convention: base_set_size=165, note "Base set = the Season Ticket numbering, 165 cards: #1-100 Season Ticket (unsigned veterans), #101-145 Rookie Season Ticket Autographs (on-card), #146-165 Rookie Season Ticket Stickers (sticker autographs)." HOWEVER - AND THIS CORRECTS BOTH THE TASK PROMPT AND EXTRACTION_SPEC 5.3 - data/contenders-bkb-2020-21 DOES NOT carry the older convention. It sets base_set_size=100 and says so explicitly: "Base set is the 100-card Season Ticket set (#1-100), veterans only. Rookies of the 2020-21 class are NOT part of the Season Ticket base numbering: they appear as the autographed Rookie Season Ticket / Rookie Ticket Autograph set (#101-145, 44 cards, on-card autos) and are therefore recorded in sets.csv as an autograph set, not in base_cards.csv." That is the exclusion rule, i.e. it AGREES with this release. data/contenders-bkb-2022-23 (base_set_size=100, "Per scope rules the autographed rookie tickets are recorded in sets.csv only") and data/contenders-bkb-2023-24 (base_set_size=100) also exclude. So the split in the Contenders line is by SEASON, not by line: 2019-20 and 2021-22 include (165), 2020-21, 2022-23 and 2023-24 exclude (100). EXTRACTION_SPEC 5.3's sentence "The 2020-21 through 2023-24 Contenders releases were built under the older convention and are presumed to carry it too" is FALSE for three of those four seasons; only 2021-22 carries it. A repair pass is needed over contenders-bkb-2019-20 and contenders-bkb-2021-22, not over the whole run. Flagged, not worked around.
- G-003 THE BASE CHECKLIST IS 78% SHARED WITH A DIFFERENT RELEASE IN THIS CATALOGUE, AND THAT IS A NEW FACT FOR THIS LINE. Positional (card_number, player_name) overlap of this release's 100 base cards against data/contenders-bkb-2020-21/base_cards.csv is 78 of 100; against data/optic-bkb-2020-21/base_cards.csv it is 3 of 100. The 2019-20 sibling (data/contendersoptic-bkb-2019-20) recorded exactly 1 of 100 against each of its two neighbours and used that to establish distinctness, so the structural relationship between Contenders Optic and Contenders CHANGED between 2019-20 and 2020-21. This is NOT the EXTRACTION_SPEC 5.2 identical-checklist case and the two releases are NOT the same physical cards: 22 of 100 slots carry different players (1 Darius Garland against Kevin Love, 2 Mike Conley against Bojan Bogdanovic, 3 Norman Powell against Jusuf Nurkic, 6, 7, 12, 19, 23, 30, 33, 34, 39, 40, 43, 54, 57, 62, 69, 72, 91, 93, 95), and on five further shared slots the TEAM differs, in every case with this product carrying the later post-March-2021-trade team (31 Nikola Vucevic Chicago Bulls / Orlando Magic; 78 Blake Griffin Brooklyn Nets / Detroit Pistons; 79 Andre Drummond Los Angeles Lakers / Cleveland Cavaliers; 82 Victor Oladipo Miami Heat / Houston Rockets; 83 Aaron Gordon Denver Nuggets / Orlando Magic) - consistent with this product releasing 2021-12-01 against Contenders' 2021-05-19. The reading is that Panini rebuilt the Contenders Season Ticket checklist for Contenders Optic, refreshing 22 slots and updating photographs/teams, rather than reprinting it. UNRESOLVED: whether a consumer should be told these are near-twin checklists. Recorded here rather than deduplicated or double-counted, per EXTRACTION_SPEC 5.2. No source was found that comments on the relationship.
- G-004 FOUR PARALLEL TIERS ARE PROVABLY SERIAL NUMBERED WITH A RUN THAT VARIES BY CARD, AND THE SCHEMA CANNOT CARRY IT. EXTRACTION_SPEC 2.3 forces print_run=UNKNOWN / serial_numbered=UNKNOWN on these, which is indistinguishable from "we found nothing". The held facts, from cardboardconnection (https://www.cardboardconnection.com/2020-21-panini-contenders-optic-basketball-cards) and checklistcenter (https://www.checklistcenter.com/2020-21-panini-contenders-optic-basketball-card-checklist/) which agree verbatim on the first two: Rookie Ticket Red "Red #/149 (LaMelo #/75*)"; Rookie Ticket Blue "Blue #/99 (Lamelo #/49*)"; Rookie Ticket Variations Red "Red #/99 (LaMelo #/49*)"; Rookie Ticket Variations Blue "Blue #/49 (Lamelo #/35*)". In each case 38 of the 39 cards carry the headline figure and LaMelo Ball carries the lower one. Writing the headline integer would be false for one card; writing it as a ceiling is forbidden by EXTRACTION_SPEC 2.3. The figures are recorded here because the CSV cannot carry them. NOTE this matches the 2019-20 sibling's G-007 on the same two tiers of the same line.
- G-005 Red Wave at the two block scopes (Rookie Ticket, Rookie Ticket Variations) is written print_run=UNKNOWN / serial_numbered=UNKNOWN rather than unnumbered. Both aggregators list "Red Wave" in those ladders with NO figure, alongside tiers that do carry figures - the same contrast that was accepted as evidence of unnumbered-ness elsewhere in this release. It is NOT accepted here because the only third-source check available, tcdb's 178-card Red Wave set (https://www.tcdb.com/Checklist.cfm/sid/290984/2020-21-Panini-Contenders-Optic-Red-Wave), delivered base-range rows only through the fetch, so its no-serial-flag rendering is evidenced for cards 1-100 and not for 101-140. An unfigured entry in an aggregator ladder is not by itself a statement that a tier is unnumbered. Unresolved: whether block-scope Red Wave is numbered.
- G-006 SET NAMES: four unresolved naming questions, none of them affecting counts. (1) The two largest autograph sets have NO NAME ON tcdb because they have no sid - they sit inside the parent checklist (101-140) and in Errors.cfm (101b-140b). The names written, "Rookie Ticket" and "Rookie Ticket Variations", are cardboardconnection's section headings; checklistcenter calls the first "Rookie Ticket Auto Set". NOTE the 2019-20 sibling wrote the variation set SINGULAR ("Rookie Ticket Variation"); cardboardconnection prints it plural for 2020-21 and the plural is written, so the two seasons of this line now differ by one character. (2) Veteran Ticket: tcdb's name is written because tcdb also names the nine parallel sets "Veteran Ticket Blue", "Veteran Ticket Gold" and so on; cardboardconnection prints "Veteran Season Ticket" and checklistcenter "Veteran Season Tickets Auto Set". (3) Superstars: tcdb and cardboardconnection print it plural, checklistcenter prints "Super Stars"; the 2019-20 sibling carries the SINGULAR "Superstar" for the equivalent set, which tcdb also printed singular that season. The name genuinely changed between seasons on tcdb; written as tcdb prints it. (4) Pick n Roll: checklistcenter prints "Pink n Roll" against tcdb's and cardboardconnection's "Pick n Roll". Read as a typo and not as a naming variant, but not confirmed as one.
- G-007 Up and Coming Autographs card-count disagreement, written as 19. tcdb states Total Cards "19" on two independent set pages - the parent set (https://www.tcdb.com/Checklist.cfm/sid/291007/2020-21-Panini-Contenders-Optic-Up-and-Coming-Autographs) and its Gold parallel (https://www.tcdb.com/Checklist.cfm/sid/291008/2020-21-Panini-Contenders-Optic-Up-and-Coming-Autographs-Gold) - both running UC-AED Anthony Edwards through UC-TFR Trent Forrest. checklistcenter states "20 Cards - Serial Numbered #/99" and cardboardconnection states 20. 19 was written because tcdb states it twice and the two aggregators agree verbatim with each other elsewhere on this product and may be a single opinion. Neither tcdb page rendered its full row list through the fetch (18 and 16 rows against a header of 19), so the identity of the disputed card was not established and neither figure is confirmed by a row count.
- G-008 Perennial Contenders Autographs rendered fewer rows than its own header through a summarizing fetch: the parent set states Total Cards "30" and returned 25 rows (https://www.tcdb.com/Checklist.cfm/sid/290999/2020-21-Panini-Contenders-Optic-Perennial-Contenders-Autographs). Per EXTRACTION_SPEC 3.2 a disagreement between rendered rows and the header is a question, not an answer - but here the set's own Gold parallel states "30" AND rendered all 30 rows, and both aggregators independently state 30, so the header figure was written and the short render is treated as fetch truncation. The same shape appears on Up and Coming (18 of 19) and on the base Checklist page 1 (74 of 100); see G-017.
- G-009 The Rookies Asia set and its two Wave parallels carry channel=asia on the SET NAME ALONE (channel_basis=from-name, channel_confidence=single). No source consulted states where these cards were sold. tcdb gives the set and both parallels sids, names and counts but carries NO page note of any kind - specifically NOT the "China-Exclusive retail product. Cards are NOT autographed." note that the 2019-20 sibling's Rookies T-Mall pages carried. cardboardconnection heads the section "Rookies Season Ticket Asia Set" and checklistcenter "Rookies Asia Set", and neither says anything about distribution. Note also that the 2019-20 equivalent was described as a T-Mall (China) product, which is narrower than "Asia"; if this set is likewise China-only then channel=china would be the correct value and channel=asia overstates the region. Unresolved. [REVIEWED 2026-08-19: still open; 6 of 102 parallels lack a sourced channel.]
- G-010 FOUR BASE PARALLELS AND TWO BLOCK PARALLELS ARE WRITTEN channel=UNKNOWN ON PURPOSE: base Black Pandora, base Gold Wave, base Red Wave, base Green Pulsar, and Red Wave at both block scopes. The only channel evidence for this product is the product-level hobby-box note, which supports "the product ships in hobby boxes" and nothing about an individual tier. That note was allowed to carry channel=hobby / channel_basis=from-note on the ordinary ladder (see G-012), but it was NOT extended to these four finishes, because in the 2019-20 sibling release the Wave finishes of this same line were a China/T-Mall exclusive and the Pandora and Pulsar finishes are of the same family of "exotic-finish" tiers that Panini has distributed regionally elsewhere. Writing hobby on them would be the inference EXTRACTION_SPEC 1.5 forbids. Note the consequence honestly: this release now uses two different treatments of the SAME product-level note, and a consumer cannot tell from the rows alone which tiers were judged and which were inherited. Unresolved: where these six tiers were sold. [REVIEWED 2026-08-19: still open; 6 of 102 parallels lack a sourced channel.]
- G-011 rookie_flag rests on a single source. tcdb renders no (RC) token on any of cards 1-100 and renders "AU, RC" on every row of 101-140 on the same renderer, so absence across the base run is evidenced rather than unresolved - but no other source consulted publishes RC designations for this base set, and neither cardboardconnection nor checklistcenter marks rookies on the base checklist. All 100 rows written rookie_flag=no on tcdb's display alone. TEMPORAL CHECK RUN AND PASSED: no 2020-21 draftee appears in 1-100 - the whole 2020 class sits in the 101-140 block - and the two candidates for a delayed-debut rookie designation, Chuma Okeke (40) and Keldon Johnson (43), both already carried RC cards in the 2019-20 release of this same line, so rookie_flag=no is correct for them.
- G-012 Channel is a product-level inference on 94 of the 102 parallel rows. The only channel evidence found for the main product is checklistcenter's "Approx. $470USD Per Hobby Box" (https://www.checklistcenter.com/2020-21-panini-contenders-optic-basketball-card-checklist/), cardboardconnection's "Product Configuration: 6 cards per pack, 1 pack per box, 20 boxes per case" (https://www.cardboardconnection.com/2020-21-panini-contenders-optic-basketball-cards), and a retailer selling a "2020-21 Panini Contenders Optic Basketball Hobby Box" whose page says "Look for 1 autograph, 2 inserts, and 2 parallels per box on average." (https://www.steelcitycollectibles.com/i/2020-21-panini-contenders-optic-basketball-hobby-box). Those state that the product ships hobby and that parallels are in the boxes; none of them says anything about any individual parallel. Those rows carry channel=hobby with channel_basis=from-note and channel_confidence=single. The exceptions are the two Rookies Asia rows (channel=asia, from-name, G-009) and the six rows left UNKNOWN (G-010). No retail, blaster, mega, FOTL, First Off The Line or international SKU was found for this product, but the ABSENCE of such SKUs was not positively confirmed by any source. [REVIEWED 2026-08-19: still open; 6 of 102 parallels lack a sourced channel.]
- G-013 The four Printing Plate base parallels state Total Cards "176" where the other block-spanning base parallels (Blue, Red, Orange, Gold, Gold Vinyl, Red Wave) state "178". 178 decomposes exactly as 100 base + 39 Rookie Ticket + 39 Rookie Ticket Variations; 176 is two short and was not explained. The difference does not affect any written value - every Printing Plate row is print_run=1 - but it means the extent of the Printing Plate tiers over the block is not established row by row. Unresolved: which two cards the Printing Plate sets omit, and whether 176 is a tcdb data gap or a real product fact.
- G-014 The Rookie Ticket Variations parallel ladder is SINGLE-SOURCE. cardboardconnection prints "PARALLEL CARDS: Red Wave, Red #/99 (LaMelo #/49*), Blue #/49 (Lamelo #/35*), Orange #/25, Gold #/10, Gold Vinyl 1/1, Printing Plates 1/1." for the variations (https://www.cardboardconnection.com/2020-21-panini-contenders-optic-basketball-cards); checklistcenter prints a ladder for the Rookie Ticket set but NOT a separate one for the variations, and tcdb catalogues the variation rows inside the same 178-card parallel sets as everything else, so it cannot separate them either. The ten Rookie Ticket Variations rows therefore carry source_confidence=single. The Orange #/25, Gold #/10, Gold Vinyl 1/1 and Printing Plates 1/1 figures are identical to the Rookie Ticket ladder, which is either a real product fact or cardboardconnection copying its own line down the page - EXTRACTION_SPEC 4.5 suspicious uniformity. Not resolved.
- G-015 The insert-set parallel ladders were applied from a CALIBRATED aggregator line rather than fetched set by set. cardboardconnection prints the identical "PARALLEL CARDS: Blue Cracked Ice, Red Cracked Ice, Gold #/10, Gold Vinyl 1/1." under all nine insert headings, and checklistcenter agrees; tcdb independently lists exactly those four parallel sids for each of the nine. Per EXTRACTION_SPEC 3.3 the ladder was calibrated against tcdb at four independent points before being trusted: All-Star Aspirations Blue Cracked Ice renders no serial flag on any of 25 rows, Uniformity Red Cracked Ice renders none on any of 35, Superstars Gold renders "SN10" on every row, Team Tandems Gold Vinyl renders "SN1" on every row. The remaining 32 insert-parallel rows (and the autograph-set ladders, calibrated at two further points - Legendary Contenders Autographs Orange "AU, SN25" and Perennial Contenders Autographs Gold "AU, SN10") were NOT individually fetched. The uniformity is corroborated by tcdb's own set inventory, so it is judged real rather than template-fill, but each individual print_run on an unfetched tier rests on the calibrated ladder and not on a direct reading of that tier. 44 rows are affected.
- G-016 Release date disagreement, written as 2021-12-01. Three sources state December 1, 2021 - tcdb's parent set page (https://www.tcdb.com/ViewSet.cfm/sid/287620/2020-21-Panini-Contenders-Optic) "Release Date: December 1, 2021", cardboardconnection "**Release Date**: December 1, 2021" (https://www.cardboardconnection.com/2020-21-panini-contenders-optic-basketball-cards) and checklistcenter "December 1, 2021" (https://www.checklistcenter.com/2020-21-panini-contenders-optic-basketball-card-checklist/). cardsmithsbreaks states "Release Date: November 30, 2021" (https://cardsmithsbreaks.com/full-checklist/2020-21-panini-contenders-optic-basketball/). The one-day difference is unexplained and could be a street-date versus ship-date distinction. Beckett, the usual independent check on a release date, is unreachable (G-017). Note the date is roughly seven months after 2020-21 Panini Contenders (2021-05-19) and eleven weeks after 2020-21 Donruss Optic (2021-09-17), i.e. this product shipped well after the 2020-21 season ended.
- G-017 SOURCE AVAILABILITY AND FETCH BEHAVIOUR. (1) beckett.com is STILL unreachable on this date: https://www.beckett.com/news/2020-21-panini-contenders-optic-basketball-cards/ 302-redirects to https://beckett-maintenance-page.s3.amazonaws.com/index.html - the identical failure recorded on certified-bkb-2019-20 (its G-013) and on contendersoptic-bkb-2019-20 (its G-015), so the outage is persistent across at least three passes and the usual third structural source is gone for this line. (2) cardboardconnection and checklistcenter agree VERBATIM on this product at every point checked - the base ladder, the Rookie Ticket ladder, every insert ladder, and every set count except Up and Coming - which is a materially different picture from the 2019-20 sibling, where the two disagreed on four separate values. On this release they should be treated as plausibly ONE opinion, and every count written was checked against tcdb for that reason. (3) cardsmithsbreaks was consulted as a third aggregator and carries only a title, a release date and a one-line description - "Contenders Optic is back featuring the fan-favorite opti-chrome technology." - no checklist, no counts, no ladders. (4) curl and any direct HTTP client are blocked in this environment (the egress proxy rejects CONNECT to www.tcdb.com), so every reading went through the summarizing fetch layer and no raw HTML was ever inspected.
- G-018 No pack odds were found for any set in this release. checklistcenter publishes only a box-level "Box Break: 1 Auto; 2 Inserts; 2 Parallels" and cardboardconnection only "Product Configuration: 6 cards per pack, 1 pack per box, 20 boxes per case"; neither publishes per-set odds or a stated print run line. stated_odds / odds_evidence_url / odds_evidence_quote are empty on every sets.csv and parallels.csv row, and scarcity_tier is unset throughout both files.
- G-019 license_status was NOT supplied by the task prompt, which specified only product_name, season, manufacturer and league. "licensed (NBA/NBPA)" is written because that is what this same line carries in the adjacent season (data/contendersoptic-bkb-2019-20). NOTE the two 2020-21 releases this product is most often confused with both carry the narrower "licensed (NBA)": data/contenders-bkb-2020-21 and data/optic-bkb-2020-21. No source was consulted on the NBPA question and no evidence supports either string over the other; the value is inherited, not sourced, and the catalogue is inconsistent about it across three Panini NBA products of the same season.
- G-020 ENDPOINT BEHAVIOUR, correcting EXTRACTION_SPEC 3.2. The spec says Checklist.cfm?PageIndex=N "PAGINATES AT 100 ROWS PER PAGE AND BEATS Gallery.cfm 10:1" and budgets a 300-card run at 3 fetches. The pagination claim is true of the SERVER and false of what reaches an agent. Measured here: Checklist.cfm/sid/287620/...?PageIndex=2 does begin at card 101a, so pages really are 100 rows; but PageIndex=1 delivered only rows 1-74 of 100 and the page body was truncated mid-row, and a narrow re-fetch asking specifically for rows 70 onward returned rows 70-74 and reported "Last card number on this page: 74" - i.e. the truncation is invisible and reports itself as the end of the page. The same truncation appeared on the Silver parallel (80 of 100 rows) and on three insert sets (25 of 30, 18 of 19, 16 of 19). The working method is Checklist.cfm for the bulk plus Gallery.cfm?PageIndex=N for the tail of each 100-row page: cards 75-100 here were recovered from Gallery pages 8, 9 and 10, and then independently re-confirmed from Gallery pages 9 and 10 of the Silver parallel sid. Budget roughly 5 fetches per 140 cards, not 2.
- G-021 PARALLEL FAMILY MINTED, reported for checking per EXTRACTION_SPEC 2.3. "Pandora" is written as the parallel_family of base Black Pandora; it appears in neither the spec's example list nor in the 2019-20 sibling's 85 rows. "Pulsar" is taken from the spec's own list for base Green Pulsar. The other families used are the ones the 2019-20 sibling of this line already uses - Wave, Vinyl, Printing Plate, Cracked Ice, other - so that the two seasons of this line stay comparable. Note "Printing Plate" and "Cracked Ice" are themselves minted families inherited from that sibling and have not been reconciled against the rest of the catalogue.
If you know a source that answers one of these, tell us — name the question's label and where to look.
Draft — sourced but not independently verified. How this catalogue is built