Skip to main content
Hoard calculates target prices for every card in your inventory based on TCG Market Price and applies them automatically during each sync.

Price source

The price source is the starting point for all of Hoard’s pricing calculations. You pick which TCGplayer price to use as your base in Settings > Pricing.

TCGplayer Market Price (default)

Market Price is TCGplayer’s volume-weighted average of recent completed sales for a given card and condition. It’s not the lowest listing and it’s not a simple average — it’s calculated from actual transactions, weighted toward more recent and higher-volume sales. This is what most sellers should use. It reflects what buyers are actually paying, not what one aggressive seller is listing at.

TCGplayer Low

This uses the lowest currently listed price on TCGplayer (without shipping) as your base. When a card doesn’t have a low price available, Hoard falls back to market price automatically. Low is more aggressive than market price. Your target will usually be lower because it’s anchored to the cheapest available listing rather than the average sale price. This is useful for high-volume sellers who want to compete directly for the buy box, or stores that prioritize turnover over margin.

TCGplayer Low + Shipping

Same as Low, but includes the seller’s shipping cost in the price. This gives a slightly higher base than raw Low because it factors in what a buyer would actually pay. Use this when you want to compete on total delivered price rather than card price alone.

TCGplayer Direct Low

This uses TCGplayer’s Direct Low price as your base. When a card doesn’t have Direct Low available, Hoard falls back to market price automatically.
Whichever source you pick here shows up as the Source column in the Cards table, with a per-row drill-down to compare against every other source. See The Source column for how to read it.

When to switch

If you’re not sure, start with Market Price. You can always switch later and preview the impact with Preview Prices before anything goes live.

Per-rule price source

You can override the global price source on individual pricing rules. When creating or editing a rule in Settings > Rules, the wizard includes a “Price source” dropdown. Set it to any of the four options above, or leave it on “Use global setting” to inherit whatever you’ve chosen globally. This is useful when you want most of your inventory priced off market but specific segments priced differently. For example, you might price bulk rares off the lowest listing for competitive turnover while keeping everything else on market price.

PriceCharting grade pricing

On by default. When enabled, Hoard replaces the base price for cards that have PriceCharting data with a condition-specific grade price. This uses eBay sold data from PriceCharting rather than TCGplayer’s market price. Hoard maps your TCGplayer listing conditions to PSA grades: When PriceCharting is on and a card has grade data, the grade price becomes the base that your markup multiplier applies to. If PriceCharting doesn’t have data for a card, Hoard falls back to your chosen price source (Market, Low, Low + Shipping, or Direct Low) automatically.

Data coverage

PriceCharting currently covers Pokemon cards only. The grade pricing data is imported weekly from PriceCharting’s bulk CSV, covering 83,000+ Pokemon cards with prices for each PSA grade level. Other games (Magic, Yu-Gi-Oh, One Piece, Lorcana) use your price source directly since PriceCharting data isn’t available for them yet.

When to use it

Leave it on if you sell Pokemon cards and want pricing based on actual eBay sold data for each condition. PriceCharting grade prices tend to be more accurate than TCGplayer market prices for Pokemon because they reflect condition-specific demand rather than averaging across all conditions. Turn it off if you prefer TCGplayer’s own market data as your pricing baseline, or if you find PriceCharting prices don’t align with your selling experience.

In the pricing breakdown

When PriceCharting is active, the rule tester shows it as a step in the pricing breakdown: “PriceCharting — PSA 9 grade price — $12.50”. This makes it clear when PriceCharting data is being used and which grade was selected.

PriceCharting floor on individual rules

Each pricing rule has a “PriceCharting floor” toggle in the rule wizard. When enabled, matched cards will never be priced below their PriceCharting grade value, even if your formula would set a lower price. This works independently of the global PriceCharting setting and the rule’s price source — a rule can use TCGplayer Market as its base but still enforce a PriceCharting floor as a safety net.

Pricing formula

The default markup is 20% above your chosen price source. You can customize it from 0% to 50% in Settings > Pricing.

Shipping cost adder

Off by default. When enabled in Settings > Pricing, cards above your tracking threshold get an additional shipping cost added to the target price. The default amount is $5.49 and the default threshold is $50:
The tracking threshold is the dollar amount above which you ship with tracking (bubble mailer instead of plain white envelope). You set this in Settings > Pricing under “I ship with tracking above.” Hoard uses the same threshold to split your orders into PWE vs tracked on the Orders tab. The adder amount is customizable. The default $5.49 offsets typical tracked shipping costs (~$5-7 actual). It’s $5.49 rather than $5.50 so final prices end in .49.

When to use it

Turn it on if you’re eating shipping costs on expensive cards and want the price to reflect that. Turn it off if you already factor shipping into your markup percentage, or if your buyers pay shipping separately.

What gets repriced

During each sync, Hoard compares your current listed price against the calculated target:
  • Underpriced — Your price is below target. Hoard updates it.
  • On target — Your price matches the target. No change.
  • Overpriced — Your price is above target. Hoard can adjust downward (configurable).

Price floor (hard floor)

You can set a minimum price for all your listings in Settings > Pricing. This is the absolute lowest Hoard will ever price a card, no matter what the market says. Set it anywhere from $0.00 to $100.00. For example, if you set a $1.00 floor, Hoard will never reprice a card below $1.00 even if the market price drops to $0.25. This is useful for covering your shipping and handling costs on low-value cards.

Lowest listing awareness

Off by default. The toggle is labeled Stay near the lowest listing. When enabled, Hoard checks whether the lowest listing on TCGplayer is higher than your calculated target. If it is, Hoard prices near that listing instead of dropping all the way to your formula. This prevents you from being the cheapest listing by a wide margin when there’s no reason to be. If the lowest competitor is at $25 and your formula says $18, you’re leaving money on the table. With this on, Hoard would price you at 95% of $25 ($23.75) instead.
This setting can raise a card above your formula’s price. That’s the point — it stops you from undercutting the market when you don’t need to. But if you’re trying to price low to clear stock, leave it off, or your prices will hold near the cheapest competitor instead of dropping to your target.

How it works

  1. Hoard calculates your target price normally (price source x markup).
  2. It checks the lowest listing on TCGplayer for that card.
  3. If the lowest listing looks legitimate (more than 50% of market price), and is higher than your target, Hoard prices a tick under the lowest listing instead.
  4. If the lowest listing looks unrealistic (below 50% of market), Hoard ignores it and uses your normal target.

Undercut by N%

The control is framed as “Undercut the lowest listing by N%”. The default is 5%. The smaller the number, the closer you sit to the lowest listing.

Ignoring unrealistic listings

TCGplayer sometimes has listings that are clearly mispriced — a $50 card listed at $5, or someone dumping inventory below cost. Hoard ignores any lowest listing that’s below 50% of the market price. This prevents one bad listing from dragging your price down to a level that doesn’t make sense.

When to use it

Turn it on if you want to stay competitive without leaving money on the table. This is especially useful with a low or zero markup — it keeps you near the floor without going under it. Turn it off if you’d rather let your markup formula determine prices regardless of what others are listing at.

Self-bidding protection

Always on. Separate from the lowest-listing-awareness toggle above. This one fires when you are already the lowest listing on TCGplayer for a card. The problem it solves: if you’re the only seller (or the cheapest seller) for a card and your formula has a markup, the next sync says “market price went up because I raised my price, so my new target is even higher.” That’s a feedback loop — your markup bids you against yourself, and your price drifts upward every sync with no buyer in sight.

How it works

Before applying never-go-down or change caps, Hoard checks two things:
  1. Are you the lowest listing? Your current marketplace price is at or below the TCGplayer Low price for that card, and the gap is within $0.25 (you’re either the floor or you’re tied with someone within a quarter of you).
  2. Are you genuinely underpriced? Your formula target is more than 2× your current marketplace price. This is the escape hatch — if you’re sitting way below where you should be, the protection releases so the price can rise.
If you’re the lowest listing and you’re not genuinely underpriced, Hoard caps the target at your current marketplace price. The markup doesn’t get to push you any higher.

What you see

When this fires, the pricing breakdown shows a step labeled:
Self-bidding protection — You’re the lowest listing, holding at current
If you don’t see that label on a card, the protection didn’t fire and your normal formula ran through.

Why $0.25?

The “within 25 cents” tolerance exists because TCGplayer Low is calculated from listings ex-shipping, and your own listing might land a few cents above the absolute floor for rounding reasons. A strict equality check would miss the common case where you’re 20.00andtheflooris20.00 and the floor is 19.97. The 25-cent buffer catches that without accidentally protecting cards where you’re a real dollar above the cheapest competitor.

When this is and isn’t what you want

This is what you want for: bulk cards where you’re the sole seller, niche product lines where supply is thin, anything where “market price” is really just an echo of your own listing. This is not what you want for: a card you’ve intentionally underpriced to clear (set a temporary sale rule instead) or a card you genuinely want to raise (in which case the 2× escape hatch handles it for you automatically). You can’t turn this layer off from settings — it’s always on. If you need a card to escape it, edit the price manually on TCGplayer and Hoard will adopt the new baseline on the next sync.

Custom listing price updates

On by default. This controls whether Hoard includes your TCGplayer photo listings and custom listings in pricing calculations and price exports. Photo listings and custom listings are special TCGplayer listings with real listing IDs — things like graded cards, signed cards, or cards with photos attached. They’re different from your regular synced inventory because they were created manually on TCGplayer rather than imported via CSV. When this is on, Hoard treats these listings like any other card in your inventory. They get priced by your formula, matched against pricing rules, and included in price update exports. When this is off, Hoard skips them entirely. Their prices stay wherever you set them manually on TCGplayer.

When to turn it off

Turn it off if your custom listings have prices you set deliberately and don’t want Hoard to touch. For example, if you have a graded PSA 10 card listed at a specific price based on the grade, Hoard’s formula (which doesn’t know about grades) would reprice it based on the ungraded market price. Leave it on if your custom listings are just regular cards with photos and you want them priced like everything else.

Never decrease prices

Toggle Never Go Down in Settings > Pricing to prevent Hoard from ever lowering a price. When enabled, Hoard will only move prices up when the market rises. If the market drops, your prices stay where they are. This is useful if you prefer to hold value and sell at your own pace rather than chase the market down.

Price change safety

Disabled by default. Price change caps limit how much any card’s price can change in a single sync. This prevents runaway price swings from buyouts, bot wars, or bad data. You set two separate caps:
  • Cards $5 and above — a maximum percentage change per sync (e.g., 12%)
  • Cards under $5 — a separate cap for cheap cards (e.g., 50%)
The split exists because cheap cards naturally have larger percentage swings. A $2 card jumping to $3 is a 50% change but only $1 in absolute terms. A $50 card jumping to $75 is the same 50% but $25 — that’s the one you want to catch.

Hold vs clamp

When a price change exceeds your cap, you choose what happens:
  • Hold — the price doesn’t change at all. Hoard keeps the current price and waits for the next sync to see if the market settled. This is the safer option.
  • Clamp — Hoard moves the price, but only by the maximum allowed percentage. A 12% cap on a $10 card means the price can move to $11.20 at most (or down to $8.80), even if the formula says $15.

See it before you save

Settings → Pricing now ships a live Hold-vs-Clamp preview alongside the velocity scenario cards. The example walks through a 20cardwhosemarketjumpsto20 card whose market jumps to 25 and shows you exactly what each mode would do — hold leaves the card at $20 and waits, clamp moves it part of the way and absorbs the rest over the next few syncs. Toggle between Hold and Clamp in the UI to see both side by side; the preview updates without saving anything, so you can experiment.

When to use caps

Caps are useful for sellers with large inventories where a single bad data point could cascade into hundreds of price changes. They’re also good insurance against buyout spikes — someone buys out a card, the market price jumps 300%, and without caps your whole inventory of that card gets repriced to a level that crashes back down the next day. Every Quick Start template now ships with caps on by default. Charge a Premium and Stay Competitive use hold mode with tighter caps (15% and 20% for staples, 10% and 15% for cards under $5). Move Product and Win the Buy Box use clamp mode and let cheap cards swing freely (50%) while still capping staples (25% and 30%).

Example

A card is currently priced at $20. Your cap is 12% in hold mode.
  • Market moves up 8%: target is $21.60. Within the cap. Price updates normally.
  • Market moves up 30%: target is $26.00. Exceeds 12%. Hold: price stays at $20. Clamp: price moves to $22.40 ($20 + 12%).
  • Next sync, if market is still up 30%: the new change from $22.40 is now about 16%, which still exceeds 12%. Clamp mode would move to $25.09. Over a few syncs, the price catches up gradually instead of jumping all at once.

Auto-push safety (batch-level)

Per-card caps stop a single card from moving too far in one sync. Auto-push safety is the next layer up: it stops a whole batch from shipping silently when the batch is bigger than your usual. Before your agent pushes the pending changes to TCGplayer, Hoard checks three numbers against the batch:
  • Percentage of inventory touched. Default 5%. A batch that changes prices on more than 5% of your listed cards trips the hold.
  • Aggregate dollar magnitude. Default $500. The sum of absolute price changes across the batch.
  • Large-swing count. Default 50. The number of cards in the batch where the change is greater than 10%.
If any one of the three trips, the entire batch is held. The held cards stay flagged on your dashboard so you can review and apply them yourself. Only the silent agent push is suppressed. Separately from batch safety, Hoard can hold a single card’s price change when the card’s market is too thin to trust the price, or while the card is being bought out. Those per-card holds show up as a Price change held note in “Why this price?” — see Market depth and watching.

What the hold looks like

You get an email naming the threshold that was hit (“Touches 12.0% of inventory (120 of 1000 cards), above your 5.0% auto-push threshold”), the cards-changed count, the aggregate dollar amount, the large-swing count, and a “Review and approve” button that drops you on the dashboard banner. You only get one email per held batch. If the next sync still trips the same threshold, Hoard stays quiet. The counter resets the next time a batch ships cleanly.

Approving a held batch

When auto-push is paused, the dashboard shows a banner with the same numbers from the email and two options:
  • Approve and push this batch — clears the hold and queues the push so your agent sends these prices to TCGplayer on its next poll. Use this when you’ve reviewed the batch and want it to ship as-is.
  • Open Pricing settings — link to the Pricing settings page if you want to adjust your formula before the next sync runs.
The banner stays visible until you approve it or until the next sync ships a smaller batch under your thresholds.

Customizing the thresholds

Settings → Repricing → Auto-push safety:
  • % of inventory touched — default 5%. Lower it for a tighter leash; raise it if your normal sync touches more than 5% (common for sellers under a few thousand cards or after a market shift).
  • Aggregate price change — default $500. Raise it if you’re a high-volume seller whose typical sync sums to more than $500 in absolute price moves.
  • Cards moving more than 10% — default 50. Raise it if you regularly see clusters of large swings (set rotations, banlist days, hype waves).
Blank inputs keep the default. Changes take effect on your next sync.

How this differs from per-card caps

The two are independent. Per-card caps stop a single card from moving more than 12% (or whatever you set). They apply during the formula calculation, before the change lands in your pending list. Auto-push safety stops the whole batch from shipping. It applies after the pending list is built, before the agent is allowed to push it. A batch can pass per-card caps (every individual change is small) and still trip auto-push safety because the aggregate touches too much of your inventory at once.

Sale-expiry safety

When a temporary sale rule expires, the post-sale prices snap back. That snap-back now goes through the same floors check your manual rule edits use. If the aggregate impact crosses your per-rule limit, the post-expiry reprice is held and you get an email. The sale rule itself still expires on schedule, so it stops repricing your cards. Only the price commit waits. The usual trigger is a sale that scoped wider than you remembered. A 40%-off rule you thought applied to “Magic rares” but actually applied to all rares will snap back by the same wide margin on expiry. The floors check catches the snap-back before the prices ship.

Market price fallback

Hoard uses TCG Market Price as the baseline for your pricing formula. But sometimes TCGplayer doesn’t have market data for a card (new releases, low-volume cards, etc.). When that happens, Hoard falls back through this chain:
  1. TCG Market Price — the primary source, used whenever available
  2. Lowest listed price + shipping — if there’s no market price, Hoard looks at the lowest currently listed price on TCGplayer (including shipping) as a proxy
  3. Previous sync’s market price — if neither of the above is available, Hoard uses the last known market price from your previous sync
This means your cards always have a pricing baseline, even when TCGplayer’s data is incomplete.

Price change tracking

The Dashboard shows:
  • Revenue Impact — Dollar value of price changes applied this sync
  • Cards Repriced — How many listings were updated
  • Price Gap — Difference between your current price and the target

Velocity pricing

Hoard can also adjust prices based on how well a card is selling. Cards moving fast get a small bump. Cards sitting for months can get a gradual reduction. Both are off by default. See Velocity pricing for details.

Pricing rules

Pricing rules let you price slices of your inventory differently from your global strategy. Use them when a group of cards needs its own multiplier, price source, floor behavior, or temporary sale. Rules are best for groups, not one-off exceptions. If you want one specific card to stay at an exact price, use a price lock instead.

How to make a rule

Open Settings > Rules and click Add Rule. The visual wizard can target common slices like game, set, rarity, product type, current listed price, quantity, and card name. Use Advanced filters when you need game-specific fields like Magic card type, color, mana value, card text, keyword, format, or special flags. Product type is also in Advanced filters, so you can make rules for singles, sealed product, accessories, or other product groups. For more control, use the Search query field and enter the same search syntax you use in the Cards table. For a walkthrough, see Pin and price Reserved List cards. The example is Magic-specific, but the workflow applies to any rule.

Current listed price filters

The price filter in a rule means the card’s current listed price in your inventory. It does not mean the target price Hoard will calculate, and it does not mean TCGplayer Market Price. For example, price<2 matches cards you currently have listed below $2. Hoard then applies the rule’s pricing settings to those matched cards.

Rule order and overlap

Rules are evaluated from top to bottom. The first enabled rule that matches a card wins. Lower rules never get a chance to change that card unless the higher matching rule is disabled, deleted, or moved below them. Use this to put specific rules above broad rules:
  1. game:pokemon set:"Base Set" at 1.30x
  2. game:pokemon at 1.10x
  3. Default pricing for everything else
In that setup, Base Set Pokemon cards get 1.30x. Other Pokemon cards get 1.10x. Non-Pokemon cards fall through to your default pricing settings. If you reorder rules, retest any card you care about. The winning rule can change as soon as a broader or narrower rule moves above it.

Rule queries

Rule queries use the same search system as the Cards table. You can combine inventory fields, game filters, and card metadata:
Use Advanced search for the full operator list. The rule tester is the fastest way to check whether a query catches the cards you meant to catch.

Rule health

The rules list flags rules that deserve a second look:
  • No effective cards means the rule is not changing anything right now. It may match zero cards, or every matching card may already be caught by a higher rule.
  • Review means the rule overlaps with nearby rules, catches a very broad slice of inventory, or blocks cards from reaching lower rules.
These labels are warnings, not errors. Overlap is sometimes exactly what you want. Click the label to see why Hoard thinks the rule is worth checking.

Testing a card

Use Test a card on Settings > Rules before you trust a new rule. Search for a card in your inventory and Hoard shows:
  • which rule matched
  • which lower rules were skipped
  • whether default pricing was used
  • the base price source
  • the multiplier or discount
  • floors, locks, and other safety layers
  • the final target price
If a card matches the wrong rule, move the more specific rule above the broad one or tighten the query. You can also spot rule effects from the Cards table. Cards that are priced by a custom rule show the rule number in the pricing details, so you can connect the table view back to the rule that set the target.

Price locks versus rules

Use a price lock when you want one listing to stay at an exact number. Locked cards are skipped by sync, Preview Prices, and pricing rules. Use a rule when you want a repeatable strategy for a group of cards. For example, is:reserved, game:pokemon_japan cond:"Lightly Played" v:masterball, or price>100. Older condition: queries still work, but cond: is the preferred condition operator. See Lock a card’s price for the per-card workflow.

Temporary sales

Temporary rules are normal rules with an expiration time. The duration only controls how long the rule stays active; it does not automatically turn a markup into a discount. To run a sale, set a negative price adjustment, such as -10%, and choose a duration. For example, a 10% sale on game:pokemon price<10 discounts only those matched cards. When the sale ends, Hoard returns to your permanent rules and default pricing. Positive adjustments raise target prices. Negative adjustments discount them. See Temporary sales or Run a sale for details.

Common mistakes

  • Put narrow rules above broad rules. game:pokemon set:"Base Set" should be above game:pokemon.
  • Do not use rules for exact one-card prices. Lock the card instead.
  • Disabled rules do nothing, but they stay in your list so you can turn them back on later.
  • The Default row is not a rule. It is what happens when no enabled rule matches.
  • Rules change target prices on the next sync or Preview Prices. They do not instantly edit TCGplayer by themselves.

Pricing strategy

Configure in Settings > Pricing. Pick a Quick Start template (Charge a Premium, Stay Competitive, Move Product, or Win the Buy Box), then tweak individual levers below the comparison table. The page has a sticky footer with a live preview and two save actions:
  • Save — writes the new strategy. Applies on your next sync.
  • Save & recalculate — writes the strategy and immediately previews the new prices against your real cards.
Changes take effect on the next sync (or immediately with Save & recalculate). Hoard Repricing settings showing pricing strategy, shipping rules, and safety rails
Hoard never changes your prices without your consent. You control the strategy, the schedule, and can pause auto-sync anytime from Settings. If a sync applies prices you’re not happy with, you can roll back to previous prices from the Sync Log.