GrailPing
Sign inGet started
Pokémon TCG price tracker

Get pinged the moment your grail hits the right price.

GrailPing watches TCGplayer prices for the Pokémon cards you care about. Set a target or a percent-drop, and we'll send a Discord or email alert the second the market moves through it — no doom-scrolling listings required.

Get started — it's freeSee how it works
Sign in with Google or GitHub. We only ask for your email and name.
Your watchlist
live
CardMarketTargetΔ 7d
Charizard ex
Obsidian Flames · 223/197
$184.20$170.00−4.2%
Iono
Paldea Evolved · 254/193
$58.40$55.00−1.1%
Umbreon VMAX
Evolving Skies · 215/203
$612.00$580.00+0.9%
Iono dipped under your $55 target — Discord ping sent.
How it works

From a card you love to an alert you can act on.

01
Add the cards you watch
Search by name + set; we resolve to the canonical TCGplayer product and pull recent market history so the chart isn't empty on day one.
02
Set a target — or just a drop
Pick a dollar target, a percent move, or both. Group cards into named watchlists if you collect across multiple sets or sealed products.
03
We poll the market on a schedule
Scheduled scrapes refresh prices throughout the day. You can also force-refresh a single card if you've heard chatter about a movement.
04
Discord or email — your call
When a threshold trips we send a tidy alert with the card, the move, the comp, and a one-click link out to the listing.
What you get

Built for collectors who want fewer tabs open.

TCGplayer market data, not vibes
We pull market / low / mid / high snapshots from PokemonPriceTracker and fall back to pokemontcg.io so charts stay populated.
Discord webhooks, encrypted at rest
Drop in your channel webhook once. We AES-256-GCM-encrypt it, mask it on read-back, and never send it to the browser decrypted.
Per-card thresholds
Mix absolute targets ($175) with percent moves (−5% in 24h). Quiet hours and per-list mute-toggles keep alerts from getting noisy.
Shareable watchlists
Public read-only share links for any list, with rotating tokens so you can hand a link to a friend and revoke it later.
90 days of price history
Every card detail page renders a chart from PokemonPriceTracker's history plus your own scrape snapshots — no waiting weeks to see a trend.
Graceful with missing keys
PokemonPriceTracker, Resend, Upstash, eBay — every integration degrades quietly when its env var is absent so dev never breaks.
FAQ

Common questions, short answers.

Is GrailPing free?
Yes for now. The project is in active development; if pricing tiers land later, existing users get fair notice before any limits change.
Where does price data come from?
TCGplayer market data via PokemonPriceTracker, plus pokemontcg.io for card metadata and a fallback price block. eBay comps are roadmap.
How often do you check prices?
We poll on a recurring Inngest schedule. You can also manually refresh a card from its detail page if you suspect a fresh move.
Do you store my Discord webhook?
Yes — encrypted at rest with AES-256-GCM. The webhook URL is masked when displayed and is never sent back to the browser in decrypted form.
Can I share a watchlist?
Yes. Generate a read-only share link from any list. The raw token is shown once at creation; we only persist a SHA-256 hash and can rotate the token at any time.

Stop checking listings. Let GrailPing watch for you.

One sign-in, a few cards, and your next alert is sitting in Discord before anyone else has refreshed the page.

Get started — it's free