Trade the card.
Never touch the card.
TCG Keepr holds your Pokémon, Yu-Gi-Oh!, Magic and sports cards in climate-controlled custody. When you trade, nothing moves — we transfer title on an append-only ledger while the slab sits still in its bin. Settlement is instant, deterministic, and fully auditable. Want the physical card? Request a withdrawal and it ships to your door, double-boxed and insured.
Zero-movement swaps · Sub-second settlement · Vault inventory insured subject to policy terms and limits · PSA / BGS / CGC / SGC / TAG certification records checked against issuer databases at intake
Zero movement is an operational fact, not a tax outcome — a swap is still a disposition of property. How trades are treated for tax.
#8•402•1173
Demonstration figures. Declared-value caps are subject to underwriting; "insured" describes the coverage carried on vault inventory, subject to policy terms, limits and exclusions — it is not a guarantee that any particular claim pays out. What the coverage actually is.
Physical settlement is the bottleneck. So we removed it.
A traditional card trade is two shipments, two chances of loss, two chances of a bait-and-switch, and 5–10 days of counterparty risk while cardboard sits in a truck. Every hop is also a chance to put a fresh corner ding on a card whose grade is worth four figures.
Once both cards are already in the same custody network, the trade stops being a logistics problem and becomes a database problem. We hold the asset; you hold the title. Trading is a signed, double-entry transaction against an append-only ledger. The cards never leave their bins.
Zero-movement swap
Both legs of the trade are held by the same custodian, so settlement is an atomic
UPDATE inside one Postgres transaction. No shipping label, no tracking number,
no "it says delivered but the mailbox is empty."
Provenance you can audit
Every asset carries an immutable event history from the moment it hits the receiving dock: intake images, cert lookup, weight and caliper readings, every bin move, every owner. Hash-chained, exportable, verifiable.
Withdrawal is always on
Custody is a convenience, not a lock-in. Request a ship-out and the card is picked, re-imaged against its intake scans, packed to slab spec, and handed to a carrier with signature confirmation and declared-value coverage.
From your mailbox to a tradable asset in four steps
Submit & ship in
You build a manifest in the dashboard — game, set code, collector number, language, finish,
edition, and grade if slabbed. We generate a prepaid, insured inbound label routed to whichever
facility is closer to you. Each submission gets a SUB- barcode; each line item gets
an LPN.
Intake, imaging & authentication
Receiving reconciles the physical box against your manifest. Every item is imaged at 1200 DPI front and back, plus angled raking light and 365 nm UV. We weigh to ±0.01 g, measure thickness with a digital caliper, and — for slabs — verify the certification number against the grader's population database while checking the holder itself for tampering. Details in authentication.
Vaulted & listed
The item is assigned a bin down to shelf-and-slot granularity and credited to your holdings. It's now a tradable position: you can list it, accept a swap, bundle it into a multi-leg trade, or just let it sit. Cards stay in the vault whether or not they're listed.
Trade by ledger — or ship it home
Accepted trades settle in a single transaction: assets debit one holder and credit the other, with any value difference settled in cash through the same entry. Or hit withdraw, and the card leaves the network the way it came in — carefully.
What an actual swap looks like
Two collectors agree to trade a PSA 10 Charizard for a BGS 9.5 Blue-Eyes plus $180 in cash. Here is the complete ledger effect. It commits or it doesn't — there is no half-traded state, and no window where one side has both cards.
Why double-entry and not "just move a row." Cards, cash, fees and tax withholding all move in the same instant. A single balanced journal makes every trade reconcilable against the physical count in the warehouse and against the money in the bank — if the journal balances and the cycle count matches, the system is provably consistent. See the ledger design.
The grade is the asset
A 1999 1st Edition Charizard is not one product. It is a dozen products that happen to share artwork — and the spread between PSA 9 and PSA 10 on that card is routinely larger than the price of a used car. Our data model treats the grade, the grader, the edition, the language and the finish as part of the item's identity, never as metadata bolted on afterwards.
| Grader | Scale | Subgrades | Top designation | Notes we track |
|---|---|---|---|---|
| PSA | 1–10, whole grades (plus 1.5, and qualifiers like OC/ST/PD) | No | PSA 10 — Gem Mint | Cert #, label variant, pop report count at intake, qualifier flags |
| BGS (Beckett) | 1–10 in 0.5 steps | Yes — centering, corners, edges, surface | BGS 10 Black Label (four 10 subgrades) | All four subgrades, final grade, label colour, serial |
| CGC | 1–10 in 0.5 steps | Optional | CGC 10 Pristine / Perfect 10 | Cert #, Pristine vs Gem Mint distinction |
| SGC | 1–10 in 0.5 steps | No | SGC 10 Gem / Pristine 10 | Cert #, tuxedo holder generation |
| TAG | 1–10, reported on a 1000-point computer-vision scale | Yes — per-defect map | TAG 10 Pristine | Full defect atlas, per-region scores |
Rarity is a taxonomy, not a word
"Rare" means something different in every game and every era. We normalise Pokémon's Common/Uncommon/Rare/Holo/Ultra/Illustration/Special Illustration/Hyper ladder, Yu-Gi-Oh!'s Super → Ultra → Secret → Ultimate → Ghost → Starlight → Quarter Century stack, and Magic's finish-and-treatment matrix into one canonical rarity vector.
Centering, measured not eyeballed
Our intake scanner computes left/right and top/bottom border ratios from the raw image and stores them alongside the human grade. That's how we can tell you a raw card is a 58/42 front — comfortably inside gem tolerance — before you pay to submit it.
Two coasts of coverage, one inventory
The West Coast site covers the western states and the Pacific inbound lane; the Midwest site covers the interior, the East and the Canadian cross-border corridor. Together they put roughly 95% of the continental US inside two-day ground. Inventory is logically unified — a trade between a West Coast item and a Midwest item settles identically, because neither one moves.
West Coast
WEST-01 · Pacific region · 41,000 ft²- Coverage
- Western states, Southwest, Pacific Northwest, HI & AK + Pacific inbound
- Environment
- 70°F ±2°, 47% RH ±3%, filtered to MERV 13
- Fire
- VESDA aspirating detection, pre-action dry-pipe, no wet pipe over vault aisles
- Access
- Mantrap entry, dual-credential vault cage, 90-day video retention
- Cutoff
- 17:00 PT same-day outbound
Midwest
MID-01 · Great Lakes region · 55,000 ft²- Coverage
- Interior, Northeast, South + Canadian cross-border
- Environment
- 70°F ±2°, 47% RH ±3%, filtered to MERV 13
- Fire
- VESDA aspirating detection, pre-action dry-pipe, inert-gas vault cage
- Access
- Mantrap entry, dual-credential vault cage, 90-day video retention
- Cutoff
- 18:00 CT same-day outbound
A sample of what sits in the bins
Real printings, real collector numbers, real population figures. Every one of these is a live instrument in the terminal with its own order book.
Card images © The Pokémon Company / Nintendo, served via the Pokémon TCG API. Yu-Gi-Oh! and Magic instruments in the terminal render with a generated placeholder rather than publisher artwork.
Everything the dashboard does, the API does
Deck-building tools, price trackers, Discord trade bots and shop back-offices all talk to the same REST surface. Idempotency keys on every mutation, signed webhooks on every state change.
{
"offered": ["itm_c8a1f9"],
"requested": ["itm_2de503"],
"boot": { "currency": "USD", "amount_cents": 18000 },
"counterparty": "usr_9b71c4",
"expires_in": 86400
}
{
"id": "itm_c8a1f9",
"game": "pokemon",
"set": "base1",
"number": "4/102",
"edition": "1st_edition",
"finish": "holofoil",
"grade": { "grader": "PSA", "value": 10,
"cert": "84021173", "verified_at": "2026-07-02T18:41:09Z" },
"custody": { "facility": "WEST-01", "status": "vaulted" }
}
The card not moving is an operational fact, not a legal one
Custodial trading is a well-trodden legal structure — UCC §2-401 lets title pass however the parties agree, and warehousing law has handled "possession here, ownership there" for a century. What it does not do is make a trade disappear.
We are a bailee, not an owner
Your cards are your property. We hold them in custody, segregated from company assets, never pledged, never lent, never rehypothecated. If we vanished tomorrow, the cards were never ours to lose.
A swap is still a taxable disposition
Barter is income. Both sides realise gain or loss at the fair market value received, and §1031 like-kind deferral has not covered collectibles since 2017. Collectibles gain runs to a 28% maximum federal rate. The terminal flags this before you execute.
The ledger doesn't create good title
A hash chain proves a record wasn't altered. It cannot prove the record was true when written. A thief passes no title, so diligence scales with value — which is why intake, not settlement, is where this system is actually load-bearing.
One slab, one owner — no fractional interests, no yield, no lending pools. Money is handled by a licensed payments provider rather than held as a balance with us. Nothing on this site is legal or tax advice.
Send the cards once. Trade them forever.
Free inbound shipping on submissions over $500 declared. First 30 days of storage on us. Withdraw everything, any time, no exit fee.
The terminal is a full working implementation — real matching engine, real double-entry ledger, real custody state machine — running entirely in your browser.