Platform status
Partial freshness
Every upstream venue CardPricer ingests, with the last time we saw a row from it and how many rows landed in the last 24h / 7d. If your dashboard goes stale, this is the first place to look — the answer is either “we're fine, you cached something” or “here's the venue that's broken”.
Monetization & growth
eBay sold comps
Browse (active listings) is connected. Marketplace Insights (sold prices) is pending eBay Application Growth Check approval for scope buy.marketplace.insights. On-chain comps (Collector Crypt, Magic Eden) are live and drive most card prices today.
Upstream sources
| Source | Type | Last seen | 24h | 7d | Health |
|---|---|---|---|---|---|
Collector Crypt source=collector-crypt | On-chain | 7h ago | 138 | 729 | Healthy |
eBay source=ebay | Marketplace | never | 0 | 0 | Inactive |
COMC source=comc | Marketplace | never | 0 | 0 | Inactive |
PWCC source=pwcc | Auction | never | 0 | 0 | Inactive |
Goldin source=goldin | Auction | never | 0 | 0 | Inactive |
Heritage source=heritage | Auction | never | 0 | 0 | Inactive |
TCGplayer source=tcgplayer | Marketplace | never | 0 | 0 | Inactive |
Scryfall source=scryfall | Aggregator | never | 0 | 0 | Inactive |
Pokémon TCG API source=pokemontcg | Aggregator | never | 0 | 0 | Inactive |
YGOPRODeck source=ygoprodeck | Aggregator | never | 0 | 0 | Inactive |
Cardmarket source=cardmarket | Aggregator | never | 0 | 0 | Inactive |
Magic Eden source=magic-eden | On-chain | 1mo ago | 0 | 0 | Inactive |
Courtyard source=courtyard | On-chain | 1mo ago | 0 | 0 | Inactive |
Whatnot source=whatnot | Marketplace | never | 0 | 0 | Inactive |
Match strategy mix
Every on-chain comp records how it was attributed to a card. A healthy mix is dominated by the tightest strategies — number+grade and number+player+grade. Looser strategies are still safe (every match goes through a player-similarity check) but they signal where our card metadata is incomplete enough that the matcher has to lean on weaker signals.
| Strategy | 7d | 30d |
|---|---|---|
number + grade sport_year_number_grade | 299 | 386 |
number + player + grade sport_year_number_player_grade | 160 | 233 |
new card from sale promoted_from_sale | 128 | 168 |
player + grade sport_year_player_grade | 67 | 102 |
number + grade + set (scored) sport_year_number_grade_scored | 30 | 53 |
player + grade + set sport_year_player_grade_set | 21 | 25 |
player + grade + card # sport_year_player_grade_card_number | 11 | 17 |
player + grade + set (scored) sport_year_player_grade_set_scored | 10 | 13 |
number + grade + set (catalog) sport_year_number_grade_catalog | 2 | 2 |
player + grade + set (catalog) sport_year_player_grade_catalog | 1 | 1 |
Cron pipeline runs
| Cron | Last started | Duration | Result | Status |
|---|---|---|---|---|
| recompute-volumes | 3h ago | 6.4s | changed=271 · processed=55,553 · totalComps=3,552 · distinctActive=2,085 | Ok |
| refresh-price-history | 3h ago | 4.6s | Ok | |
| refresh-card-price | 3h ago | 5.5s | changed=270 · processed=55,553 | Ok |
| sync-courtyard-sales | 6h ago | — | — | Running |
| sync-onchain-listings | 6h ago | 48.8s | Ok | |
| sync-ebay-sales | 6h ago | 46.1s | cardsProcessed=8 | Ok |
| sync-psa-population | 2h ago | 3.0s | processed=100 | Ok |
| sync-cgc-population | 1d ago | 4.9s | Ok | |
| harvest-ebay-certs | 2h ago | 96.1s | Ok | |
| price-reference | 4h ago | 247.1s | cardsProcessed=400 | Ok |
| prune-prices | 3h ago | 4.7s | cleaned=32 · playersRefreshed=2,919 | Ok |
| resolve-players | 5h ago | 11.0s | linked=50 · scanned=4,149 · playersRefreshed=2,919 | Ok |
| sync-card-catalog | 1d ago | 113.6s | cardsProcessed=424 | Ok |
| accrete-sports-catalog | 13h ago | 24.3s | Ok |
Health rules
- Healthy: last row seen within 36 hours. Daily syncs (Scryfall, Pokémon TCG, YGOPRODeck) should always be here when running.
- Stale: last row between 36h and 7d ago. Aggregator quotes drop here first; marketplaces stay healthy longer since activity is naturally bursty.
- Inactive: never ingested. Either the source is on the roadmap but not wired up yet, or it's been disabled.
The same payload is available as JSON at /api/v1/status. That endpoint and this page share their query logic, so they can never diverge.
Why this exists
Transparency goes both ways.
We publish a confidence score on every card and player folder. If you're going to trust those numbers you should also be able to verify the pipeline that produced them. That's what this page is for.