Our Methodology
How Agent GRaiL identifies, prices, and AI-grades trading cards — and where our system has known limitations.
Last updated: May 2026 · See changelog
Donnie Lauring
Founder, AgentGRaiL
1. Card Identity
Every card in the Agent GRaiL catalog goes through an identity waterfall — a sequence of progressively more expensive lookups that stops as soon as a high-confidence identity is established.
1a. PSA Certificate Lookup
For graded slabs, we first check the PSA public API against the slab's certification number. PSA cert data has the highest authority (confidence 1.0) because it was directly recorded at the time of grading. Fields: player, year, set, card number, variant, grade.
1b. CardSight Catalog
For cards without a cert number, we check CardSight's ~8 million card catalog. CardSight returns structured identity data (player, year, brand, set, card number) at sub-second latency.
1c. Claude Haiku Vision
When CardSight misses or returns low-confidence data, we send the card image to Claude Haiku (an Anthropic AI model) with a structured prompt asking for identity fields. Haiku has broad knowledge of modern card sets and performs well on standard trading card photos.
1d. eBay Listing Title Parse
As a final fallback, we parse the eBay listing title using a custom sports-card-aware parser. This is the least reliable method; cards identified only via title parsing are marked lower-confidence in the catalog.
2. Pricing Data
Prices on Agent GRaiL reflect recent real-world transaction data, not ask prices.
eBay Sold Listings: Our primary pricing signal. We query the eBay Browse API for recently-sold comparable listings (same player, set, year, grade tier) and compute a median price from the most recent transactions. Prices update daily via our price-refresh job.
PriceCharting: For TCG cards (Pokémon, Magic: The Gathering, Yu-Gi-Oh!, One Piece), we supplement eBay data with the PriceCharting catalog, which tracks long-run price history for singles. TCG prices on Agent GRaiL use a weighted blend of both sources.
Currency & freshness: All prices are in USD. Each card page displays the most recent price snapshot date. Prices that are more than 30 days old are shown with a staleness indicator.
3. AI Grading
The Agent GRaiL AI grading system predicts whether a card is a likely PSA 10 (Gem Mint) candidate — the industry's top grade — and outputs a BUY, PASS, or REVIEW recommendation.
Sub-criteria extraction
We score four grading criteria on a 1–10 scale: centering (left/right and top/bottom), corner sharpness, edge wear, and surface condition. These scores feed into the grading head.
CLIP visual embedding
A 512-dimensional visual embedding is extracted using OpenAI's CLIP ViT-B/32 model. This captures global visual quality signals that sub-criteria scores can't fully quantify.
Grail Head classifier
A gradient-boosted-tree classifier ("Grail Head") takes the 4 sub-criteria scores + 512 CLIP dimensions as a 516-d feature vector and outputs the BUY/PASS verdict probability. This is the primary grader — sub-criteria and CLIP are feature extractors, not standalone graders.
Confidence gates
A prediction is only labelled BUY when the Grail Head output exceeds the user's configured confidence threshold (default 0.65 for B-grade, 0.75 for Gem Mint). Predictions below the gate are shown as REVIEW.
4. Data Sources & Licensing
| Source | What we use it for | License |
|---|---|---|
| PSA | Cert data, population reports, graded-card identity | PSA Data License Agreement (signed 2026-05-13, §8 attribution required) |
| eBay | Search, sold listing prices, card images | eBay API Terms of Use — listed prices displayed as live quotes with rel=sponsored on affiliate links |
| CardSight | Card identity (player, set, year, number) | CardSight API License (paid tier) |
| PriceCharting | TCG card price history (Pokémon, Magic, Yu-Gi-Oh!, One Piece) | PriceCharting data via daily CSV export |
| Scryfall | Magic: The Gathering card catalog (names, sets, oracle text) | Scryfall data is provided under Creative Commons Attribution 4.0 |
| Pokémon TCG API | Pokémon card catalog (sets, card numbers, rarity, images) | Pokémon TCG API (free, attribution required) |
| Anthropic Claude | Card identity vision fallback (Haiku), grading sub-criteria (Sonnet) | Anthropic API — predictions are Agent GRaiL AI outputs |
5. Known Limitations
⚠️ Surface defects require specialized lighting
Our AI cannot reliably assess surface scratches, print defects, or print lines from standard eBay listing photos. Surface grading requires raking light photography (angled light source) to reveal low-relief defects. Standard head-on photos physically hide these defects. We disable surface grading in our public-facing score and exclude surface sub-criteria from the final grade.
⚠️ Minority-sport classifier reliability
Our sport classifier performs well on the five highest-volume sports (baseball, basketball, football, Pokémon, soccer). For lower-volume sports (hockey, racing, tennis, golf, fighting, wrestling, MMA), the model is less reliable due to limited training data. For these sports, we fall back to title parsing rather than visual classification.
⚠️ Parallel/refractor detection is title-first
Refractors, prizms, shimmers, and other parallel variants only appear under specific lighting conditions. We extract parallel type from the eBay listing title (e.g. 'Prizm Green Wave Refractor') rather than from the image. Visual detection of parallels from standard photos is unreliable and is not part of our grading signal.
⚠️ Price data freshness
Prices are refreshed daily via the eBay Browse API. Cards with low search volume may have price data that is 1–7 days old. Prices shown are medians from recent sold listings, not ask prices. Do not rely on these prices as financial advice.
⚠️ AI-generated predictions may be inaccurate
All grading predictions, BUY/PASS/REVIEW recommendations, and valuation estimates are generated by Agent GRaiL AI and may be inaccurate. Always verify a card's condition and market value independently before making a purchase or grading decision.
6. Feedback & Corrections
The Agent GRaiL AI improves through user corrections. When you mark a prediction as incorrect on the analysis panel, that signal is weighted by confidence and incorporated into the next model retraining cycle.
To report a data error (wrong player name, incorrect year, missing card from the catalog):
- Email contact@agentgrail.ai
- Use the feedback button on any card page
- Open a GitHub issue on the public roadmap
PSA data corrections should be submitted directly to PSA at psacard.com. Agent GRaiL reflects PSA's official data and cannot override cert records.
Questions about our methodology? We're transparent about how our system works and welcome feedback from the collector community.
Try AI card grading free →