Offers & negotiation
The order book is firm-price: a bid either matches an ask or it doesn’t. Offers are the negotiation layer on top — you propose a price below a seller’s ask, and the seller accepts, declines, or counters. This page documents exactly what each step does, what it costs, and where the guidance numbers in the offer composer come from.
Where this lives in code. The negotiation engine isapps/storefront/src/lib/market/offers.ts; acceptance economics come frompackages/pricing(resolveCommission,computeCommissionAmount); escrow routing fromlib/escrow/service-tiers.ts. When the mechanics change, this page changes in the same PR.
Making an offer
- Offers must be above £0 and at or below the ask price — above the ask you should just buy.
- One active offer per buyer per listing. At most 5 pending offerscan queue on one listing, so popular asks don’t drown the seller.
- Sellers can turn offers off per listing; those listings are Buy Now only and the card page says so.
- Your offer value is checked against your trading limits (per-trade and daily, from your trust profile) at submission — the same gate that applies to direct orders. See /methodology/trust-score.
How long the seller has
An offer expires within the seller’s declared response window— 48 hours by default, longer if the seller has set a slower cadence on their account. The exact expiry is stamped on your offer and shown in your offers inbox; we never promise a fixed hour count that a seller’s settings would contradict. See /methodology/response-windows.
Automatic responses exist.Sellers can configure pricing rules that auto-decline or auto-counter offers below a threshold. If your offer is answered within seconds, that is a rule acting on the seller’s standing instructions — not a human snub.
What acceptance does
When either side accepts (the seller accepts your offer, or you accept the seller’s counter), a trade is created at the agreed price— the same trade object a direct Buy Now produces, with nothing skipped:
- Escrow routingis resolved from the trade value and both parties’ trust standing — Direct Ship, Verified Ship, or Full Escrow, with the tier’s photo requirements, dispute window, and payout hold written onto the trade. See /methodology/escrow-tier and /methodology/payout-hold.
- Payment deadline: the buyer’s declared response window (24h default) — miss it and the trade cancels, returning the listing to the book.
- Return terms are frozen: whether the listing accepts returns, and for how many days, is copied onto the trade at acceptance. Editing the listing afterwards cannot change a trade you already made.
- Acceptance is checked against the listing’s remaining quantity inside one database transaction — two accepts racing for the last copy cannot both win.
Commission on accepted offers
The seller pays commission on the agreed price(not the original ask), at the seller’s resolved rate: the more favourable of their trust-tier rate (8% down to 5%) and their membership-tier rate, then the £50 per-item cap. This is the same formula as every other market sale — rates and worked examples at /methodology/commission-rate and /methodology/fees.
The buyer pays the agreed price; there is no buyer-side offer fee. The rate frozen onto your trade is your rate at acceptance time— later trust or tier changes don’t rewrite past trades.
Where the composer’s guidance numbers come from
- Fair value (30d) — computed from this card’s own completed trades on this market over the last 30 days: the volume-weighted average (VWAP), falling back to the median. It is what peers actually paid here.
- CTCG spot (reference) — shown onlywhen the card has no recent P2P trades to compute a fair value from. It is Cambridge TCG’s own catalogue price — a different kind of number (our retail price, not a P2P clearing price) — and is always labelled as such. See /methodology/pricing for how spot is built.
- Deltas(“12% below the ask”) are plain percentage arithmetic against those anchors. None of these numbers is a promise — they are context for your judgement.
Abuse boundaries
Repeated extreme lowballing (many offers at ≤30% of ask within a week) raises a fraud signal for review. Negotiating hard is fine; carpet-bombing sellers is not. See /methodology/fraud-flag.
Verifying your fee yourself
- Take the agreed price × quantity.
- Multiply by your resolved rate (shown on the acceptance confirmation).
- If the result is over £50, your fee is £50; otherwise it’s the result, rounded to the penny.
The trade’s recorded commission_amountis exactly this number, frozen at acceptance. If it doesn’t match, that’s a bug — email [email protected] with the trade ID.