Every fair value carries its receipt.
The price at the top of every card page is built from real sales over a real time window with a real confidence band. Hover the comp footer on any card and you’ll see the same numbers we used to compute it: how many sales, how recent, what window, what source. Below is every formula and every default we apply along the way — auditable, not marketing.
Fair valueHeadline number
Card pages lead with realized sales from the last 30 days. API and embed consumers receive a broader 60-day vendor-consensus number, and the response states the window explicitly.
Live weightsSources
ConfidenceWhen we show a number
Confidence is based on realized-sale volume, distinct source count, and freshness. If the minimum sample is not met, fair value is suppressed instead of padded.
- High: 5+ recent comps, 2+ sources, sale within 14 days.
- Medium: 2+ recent comps and a sale within 45 days.
- Low: 1+ comp, or multiple sources with a sale within 90 days.
GuardrailsAnomaly and motion
Comps more than 10.0% outside the trimmed window stay visible in recent sales, but they cannot move the headline alone.
- Heating up: +5% to +15% over 14 days.
- On fire: above +15% over 14 days.
- Cooling: down more than 5% over 14 days.
WatchdogDaily integrity check
Every 24 hours, VaultStore compares published prices against external comparables. If a 50+ card sample drifts more than 5%, the methodology team gets an action-tier insight before the next refresh ships.
Lines we do not crossNever do
- No fabricated sales.
- No fair value without provenance.
- No seller-favoring adjustment to published fair value.
- No silent methodology constant changes.
The headline number
What “fair value” actually means- Card detail pagerenders the realized-sales signal — what cards actually changed hands for in the last 30 days. We anchor the on-page hero to this because realized sales are the most honest answer to “what’s it really worth?”
- Public API and embed widget return the vendor-consensus signal — what the wider pricing market currently quotes over 60 days. External consumers ask for a stable, broad number; the longer window with vendor quotes is the right shape for that. The response carries
window_daysexplicitly so consumers can never accidentally treat one window as another. - Official sold-history feeds enter as realized-sale observations when we have a licensed API path. eBay sold history is ingested through the Marketplace Insights API when access is configured; if access is absent, the worker no-ops and the methodology does not pretend those comps exist.
- Confidence tier always derives from the realized-sales signal — we trust a price more when actual cards have changed hands recently than when vendor quotes have just sat on listings.
fair_value = trimmed_median( weighted_comp_prices,
trim_lower = 5%, trim_upper = 5% )
weighted_comp = comp_price × source_weight × condition_factor
ci_lower / upper = central 95% of the trimmed distribution
· n < 30 → Student-t with df = n-1
· n ≥ 30 → normal-approx ± 1.96·σ/√n
card-page hero window_days = 30, source: realized sales
(vaultstore_order / vaultstore_auction / vaultstore_sale,
plus pricing_events with metric='sold')
api + embed widget window_days = 60, source: vendor consensus
(pricing_events with metric='market')
sample_size comp count after trim
last_sale most recent observation in the window