Platform status
All systems operational
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 | 10h ago | 540 | 2,403 | Healthy |
Pokémon TCG API source=pokemontcg | Aggregator | 16h ago | 1 | 952 | Healthy |
YGOPRODeck source=ygoprodeck | Aggregator | 10h ago | 103 | 642 | Healthy |
Scryfall source=scryfall | Aggregator | 2d ago | 0 | 272 | Inactive |
Magic Eden source=magic-eden | On-chain | 11h ago | 28 | 104 | 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 |
Cardmarket source=cardmarket | Aggregator | never | 0 | 0 | Inactive |
Courtyard source=courtyard | On-chain | 2mo 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 |
|---|---|---|
cc_buy_now cc_buy_now | 1,000 | 1,000 |
Cron pipeline runs
| Cron | Last started | Expected | Duration | Result | Status |
|---|---|---|---|---|---|
| recompute-volumes | 1d ago | 24h | 6.3s | changed=190 · processed=59,175 · totalComps=1,489 · distinctActive=933 | Stale |
| refresh-price-history | 1d ago | 24h | 5.0s | Stale | |
| refresh-card-price | 1d ago | 24h | 2.9s | changed=0 · processed=59,175 | Stale |
| sync-onchain-sales | 12h ago | 24h | 37.2s | Ok | |
| sync-courtyard-sales | 12h ago | 24h | — | — | Stale |
| sync-onchain-listings | 10h ago | 12h | 117.9s | Ok | |
| harvest-spec-sales | 4h ago | 16h30m | 170.7s | Ok | |
| sync-ebay-sales | 11h ago | 24h | 148.4s | cardsProcessed=24 | Ok |
| sync-scryfall-prices | never | 24h | — | no run ever recorded | Never run |
| sync-pokemon-prices | never | 24h | — | no run ever recorded | Never run |
| sync-ygo-prices | never | 24h | — | no run ever recorded | Never run |
| sync-psa-population | 7h ago | 24h | — | — | Stale |
| sync-cgc-population | 6h ago | 24h | 2.3s | Ok | |
| harvest-ebay-certs | 7h ago | 24h | — | — | Stale |
| price-reference | 5h ago | 9h | 78.1s | cardsProcessed=100 | Ok |
| poll-prices | never | 24h | — | no run ever recorded | Never run |
| prune-prices | 1d ago | 24h | 4.6s | cleaned=40 · downgraded=0 · playersRefreshed=3,395 | Stale |
| resolve-players | 9h ago | 24h | 22.8s | linked=209 · scanned=3,954 · playersRefreshed=3,404 | Ok |
| sync-card-catalog | 6h ago | 24h | 88.7s | cardsProcessed=674 | Ok |
| accrete-sports-catalog | 6h ago | 12h | 401.1s | Ok | |
| refresh-scp-prices | 11h ago | 16h | 248.0s | scanned=beaux-collins:0,beck-malenstyn:0,beckett-sennecke:0,ben-bredeson:0,ben-chiarot:0,ben-hutton:0,ben-jones:0,ben-kindel:0,ben-meyers:0,ben-saraf:0,ben-sims:0,ben-sinnott:0,ben-skowronek:0,ben-wallace:0,ben-williamson:0,ben-yurosek:0,benjamin-morrison:0,benjamin-st-juste:0,berkly-catton:0 | Ok |
| backfill-spec-images | 6h ago | 24h | — | — | Stale |
| snapshot-portfolios | 2h ago | 24h | 1.8s | Ok | |
| snapshot-tcg-prices | 3h ago | 24h | 99.3s | changed=0 | 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.
- Cron Never run / Stale: every tracked job is listed, even with no
cron_runsrow. Stale means the last start is older than 36 hours — Vercel is not invoking it, or auth is failing before the job can log.
Cron rows are judged against their own cadence, and the Expected column is derived from vercel.json rather than restated here, so the two can't drift. A cron reads Stale once its last run is more than one full cadence plus 2h old, and Never run when it has no run on record at all — a tracked job that never fires is the failure mode this table exists to catch, so it is always shown rather than omitted.
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.