← Back to blog
PricingDesignTrades

How prices and trade balances are calculated

In peer-to-peer (p2p) card trades, the parties usually offer prices below international reference prices. For the seller, the p2p trade is the channel that yields the most return on their cards. For the buyer, that "discount" is the incentive to find someone with the cards they want instead of going to a retailer.

The problem with the traditional model

Most p2p trading communities express their discount as a percentage off a reference price (for example, "CK 80%" means the seller is asking 80% of Card Kingdom's listed price). That percentage is usually different per seller, and rarely transparent at the moment of negotiating — the buyer ends up doing math on their phone to compare two sellers.

But the bigger problem isn't the discount itself: it's how the discount gets applied when both sides of a trade have cards the other wants. If I sell at 80% and you sell at 70%, and we each have $20 worth of cards the other wants, those $20 are worth the same to both of us — so they should cancel out. But under naive math, applying my discount to my cards and your discount to yours gives a balance that doesn't reflect that natural cancellation.

That's the gap Natural Order's pricing model closes. Cards cancel at reference value, and the discount only applies to the cash difference between the two sides — the part that's actually being "sold," not traded.

The equilibrium model

On Natural Order, the trade calculation has three steps:

Step 1: Reference value

Every card on both sides is valued at Card Kingdom's market price, adjusted for condition (NM, LP, MP, etc.). This is each card's "real value." Both sides are summed.

Step 2: Compute the difference

Subtract the totals. If one side is worth $100 and the other $80, the difference is $20. That $20 is the "cash zone": what one side owes the other in money.

Step 3: Apply the discount to the difference

Only the difference carries a discount, and it's the discount of the user with the higher card value (the "seller" of the surplus). If their discount is 80%, the other side pays $16 instead of $20.

The cards exchanged in the "trade zone" (the first $80 on each side) carry no discount. They trade 1:1 at market value. Only the surplus is treated as a sale.

Card Kingdom as the reference

We use Card Kingdom prices as our main reference source. Unlike TCGPlayer (which shows a range of prices from multiple sellers), Card Kingdom publishes a single, stable price per card and condition. That means:

  • -Condition-aware prices: NM, LP (Excellent), MP (Very Good), HP/DMG (Good) have distinct prices on CK. We don't apply a generic factor like "LP = 85% of NM"; we use the actual price CK publishes for that condition.
  • -TCG fallback: If Card Kingdom doesn't price a given card (very new or very rare cards), we use the TCGPlayer price with a standard industry condition factor.
  • -Foil tracked separately: Foil card prices are handled on their own, using CK's foil lists.

Custom prices and the sorting algorithm

Each user can configure a global discount (for example, 80%) that applies to all their cards. They can also set per-card prices (a fixed price, or a different % from the global). Those cards have a "custom price."

When custom prices appear in a trade, the calculation gets more interesting. The question becomes: which cards land in the trade zone (no discount), and which in the cash zone (discounted)?

The losing-side rule

If a card with a custom price is on the side contributing less value to the trade (the "losing side"), its custom price is ignored. The CK price is used. That's because those cards are being traded, not sold.

The winning-side algorithm

For the cards on the side contributing more value (the "winning side"), the system sorts them by the discount-to-reference ratio, from least discount to most:

  1. Cards with less discount (closest to the CK price) are assigned to the trade zone first, until the equilibrium is covered.
  2. The remaining cards land in the cash zone and contribute their effective price (with discount) to the balance.
  3. If a card lands right on the boundary, it's split proportionally.

This sorting maximizes the value of the trade zone (where cards swap 1:1) and minimizes the discount's impact in the cash zone. In practice, this benefits the buyer: they pay less in cash because the seller's most expensive cards are used first to cover the swap.

Concrete example

# Side A (what I want):

Ragavan       CK ref: $60

Arid Mesa     CK ref: $25

Lightning Bolt CK ref: $3

Reference total: $88

# Side B (what they want):

Sheoldred      CK ref: $55

Thoughtseize   CK ref: $15 (custom: $12, 80%)

Reference total: $70

# Calculation:

Reference difference: $88 - $70 = $18

Winning side: A ($18 more in value)

Sort side A by discount (least to most):

  Ragavan: $60 ref (no custom = ratio 0.80)

  Arid Mesa: $25 ref (no custom = ratio 0.80)

  Lightning Bolt: $3 ref (no custom = ratio 0.80)

Fill the trade zone up to $70 (equilibrium):

  Ragavan: $60 → trade zone (acc: $60)

  Arid Mesa: $10 trade / $15 cash (acc: $70)

  Lightning Bolt: $3 → cash zone

Cash zone (global 80% discount):

  Arid Mesa: $15 * 0.6 fraction * 0.80 = $7.20

  Lightning Bolt: $3 * 0.80 = $2.40

Balance: B pays A → $9.60

Without the equilibrium model, the balance would be $88 * 0.80 - $70 * 0.80 = $14.40 (if both sides use 80%). With our model, cards trade at their real value and only the difference carries a discount, which produces a lower and fairer balance.

What you see in your collection

In your collection, each card shows the Card Kingdom reference price as the primary value. You don't see the discounted price because that discount only makes sense in the context of a trade (when there's a difference to settle in cash).

If you set a custom price on a card (a fixed price or a different discount from the global), that price appears in amber next to the reference price. That way you can quickly identify which cards have special pricing.

Minimum price

You can configure a minimum price in your preferences. This price acts as a floor for the cash balance of your trades: if the calculation comes out below the minimum, it's rounded up. That avoids trades where the cash balance is so low it's not worth the effort of paying the difference.

In summary

Cards trade at market value. Card Kingdom defines the reference price for each card and condition.

Only the difference carries a discount. If one side of the trade is worth more, the cash difference is calculated using the seller's discount (the side with more value in cards).

Custom prices are respected. If you set a special price, that price applies when the card lands in the cash zone. Cards in the trade zone are always valued at market.

Fairer for both sides. Nobody loses value on the card swap; the discount only affects cash, and is set by whoever is "selling" the surplus.

Try Natural Order

Find traders near you, match automatically, and trade at fair prices.

Create a free account