CardOS for Business

The card operation behind your product

Market data, a vault that holds raw singles, sourcing, and a gacha API that turns the lot into packs you can sell.

Take the whole stack or one piece. You keep your frontend and your customer.

Charizard ex
pokémon · one piece · sports

Name the cards. We find them.

Raw singles by the lot, graded slabs hunted one at a time, sealed by the case, across auctions, breaks and private sales.

Powering
PhygitalsTradedrip.fun
Pokémon Trading Card GameOne Piece Card GameAzuki TCG

Four products, one partner

They work together, and you can buy them separately.

01 Card & sealed data

Identity, metadata and pricing for every printing we index

02 Vaulting

Raw, graded and sealed stock held in our own facilities

03 Sourcing

We find the cards. You fund them and they stay yours

04 Gacha API

Sell digital packs filled from real vault inventory

Card Data API

One API for everything about a card

Point a camera at it, search it by any field, price it raw or graded, and see how many exist. Three games and three languages, all on the same routes and response shapes.

Visual search

A photo of a card returns the card

Angled shots, glare, sleeves and slabs — and it picks the language, not just the art.

Reshiram & Charizard-GX
input photo
  • Reshiram & Charizard-GX 97% Unbroken Bonds · #217 · en
  • Charizard VMAX 62% Champion's Path · #74 · en
  • Charizard & Braixen-GX 21% Cosmic Eclipse · #251 · en
Pricing

Raw and graded, one call

Market$356.59 PSA 10$1,425.00
Every condition
NMLPMPHPDMG
Every grader
PSABGSCGCSGCTAG
How pricing works →
Population

How many exist at each grade

PSA 10 973
PSA 9 1,402
PSA 8 488
PSA 7 187
Total graded4,218 Gem rate31% Scarcity97th
Population guide →
Search

One query language

name:char* -types:water wildcards, negation
name:char* language:ja filter by printing
(subtypes:mega OR subtypes:vmax) boolean groups
hp:[150 TO *] orderBy=-release_date ranges, sorting
Full grammar →
Languages

Every printing is its own card

Charizard ex, three times over. Separate ids, separate art, separate market values — filter to one with language:ja.

Search grammar →
Charizard ex (English)
English en 151 · #6 $7.86
Charizard ex (Japanese)
Japanese ja Pokémon Card 151 · #6 $3.23
Charizard Ex (Chinese)
Chinese zh Collect 151 Journey · #006/151 $3.25
Sealed product

Packs, ETBs and boxes

Base Set Booster Pack Base Set Booster Pack Booster pack $15,000.00
Legendary Collection Booster Pack Legendary Collection Booster Pack Booster pack $6,585.00
Roaring Skies Elite Trainer Box Roaring Skies Elite Trainer Box Elite trainer box $7,570.14
Ancient Origins Elite Trainer Box Ancient Origins Elite Trainer Box Elite trainer box $4,262.50
Base Set Booster Box [Revised Unlimited Edition] Base Set Booster Box [Revised Unlimited Edition] Booster box $100,000.00
Vaulting

Cards live in our own facilities

Raw singles, graded slabs and sealed product, on software we wrote ourselves. What the inventory API returns is what is on the shelf.

  1. 01 Intake

    Scanned front and back, assessed for condition.

  2. 02 Store

    Sleeved and shelved in our own climate-controlled facility.

  3. 03 Sell

    Your API call moves the card. It never leaves the shelf.

  4. 04 Ship

    Redeemed cards go out tracked, in a rigid mailer.

Sealed product

Packs, boxes, ETBs, bundles and tins.

Only on CardOS
Raw and ungraded singles

The only B2B vault that stores them.

Graded slabs

PSA, BGS, CGC, SGC and TAG, stored by cert.

Graded-only vault $25 The cheapest pack it can fill
Raw in the vault $1 The cheapest pack you can fill

Sell $1 to $3 packs and reach the casual buyer a $25 floor shuts out.

Sourcing

We'll go and find the cards

You fund the inventory and it stays yours. Each format is a different hunt.

  • Raw singles Bought by the lot: break leftovers, shop inventory and collection buyouts. Volume. This is how you fill the cheap tiers that bring casual buyers in.
  • Graded slabs Hunted individually across auction houses, marketplaces and private sales. Chase cards. The headline prizes that make a tier worth opening.
  • Sealed product Bought by the case from distributors and the secondary market. Launches, and product you intend to rip live on camera.
Tell us what you need →
Gacha API

Build your own gacha and keep the revenue

Your packs, your odds, your prices, your margin. We supply the cards, run the reveal, fund the buyback and ship on redemption.

// Sell a pack, filled from real cards in our vault.
const purchase = await cardos.gacha.purchase({
  tier_id: 3,
  external_user_id: user.id
});

const { items } = await cardos.gacha.waitForReveal(purchase.id);
// → [{ name: 'Umbreon VMAX', value_usdc: '412.50', image: '…' }]
Official SDK

One typed client for all of it

Packs, wallets, sell-back, redemption, webhooks and the card catalog, from one zero-dependency package. Node, Bun, Deno, Workers and the edge.

pnpm add @ripdotfun/cardos-sdk
import { CardOS } from "@ripdotfun/cardos-sdk";

const cardos = new CardOS({ apiKey: process.env.CARDOS_API_KEY! });
const purchase = await cardos.gacha.purchase({ tier_id: 3, external_user_id: user.id });
const { items } = await cardos.gacha.waitForReveal(purchase.id);

Pricing

Self-serve for the data. Anything physical is priced around your economics.

Tell us what you're building

Every endpoint in the docs runs right now — no signup, no sandbox.