⛓️ LIVE ON LITVM LITEFORGE TESTNET

TCG Price Oracle

Real-world trading card prices verified on-chain. The first real-world asset oracle on LitVM — powered by 440K+ products across 25+ TCG games.

TCG Price Oracle is a free, on-chain price oracle covering 440K+ trading card products across 25+ games — including Pokémon, Magic: The Gathering, Yu-Gi-Oh, One Piece, Disney Lorcana, Pudgy Penguins Vibes, and VeeFriends. The entire dataset is committed to asingle Merkle root on LiteForge. This enables trustless, cryptographic verification of any card's market value directly on-chain. Beyond the Merkle oracle, the platform delivers live price feeds for the top 50 blue-chip cards with hourly TWAP updates, real-time eBay comparable listings, 30-day price history with trend analysis, and AI-powered card grading using local inference — all powered by a single Mac Mini with zero cloud dependency. Built by The Undesirables LLC.

Reading from chain…
🔎
0 productsRefreshed just now

Connecting to LitVM LiteForge…

LitVM LiteForge Deployments

How the Oracle Works

📦
440K+ Products
TCGCSV pipeline
🖥️
Mac Mini
Cron + API + Merkle
⛓️
LitVM LiteForge
V2 Oracle + Merkle
🌐
Dashboard
Live reads
LitVM (Litecoin L2)Top-50 live price feed + full-database Merkle verification
Base (Ethereum L2)x402 USDC API payments

Build With This Oracle

SolidityRead prices in your contract
interface ITCGOracle {
  function getPrice(uint256 productId) 
    external view returns (
      uint256 marketPrice,
      uint256 lowPrice,
      uint256 midPrice,
      uint256 timestamp,
      string memory name,
      uint16 categoryId
    );
}

ITCGOracle oracle = ITCGOracle(
  0xA79C6b3922949fcaBb518f56f0B6e68Ca7115771
);

(uint256 price,,,,, ) = oracle.getPrice(12345);
JavaScript (viem)Read from frontend or backend
import { createPublicClient, http } from 'viem';

const client = createPublicClient({
  chain: { id: 4441, name: 'LitVM LiteForge' },
  transport: http(
    'https://liteforge.rpc.caldera.xyz/http'
  ),
});

const result = await client.readContract({
  address: '0xA79C6b...5771',
  abi: oracleAbi,
  functionName: 'getPrice',
  args: [12345n],
});

console.log(result.marketPrice);
REST APINo wallet needed — fetch from anywhere
// Get all 50 tracked products with live prices
const res = await fetch(
  'https://the-undesirables.com/api/litvm'
);
const { stats, cards } = await res.json();

// stats.tracked = 50
// stats.updates = 260+
// cards[0] = {
//   productId, name, categoryId,
//   marketPrice, lowPrice, midPrice,
//   timestamp
// }

// Use case: LTV calculation for lending
const ltv = loanAmount / (card.marketPrice * 100);

🔗 Want to integrate this oracle into your dApp? The price feed is public and free to read — on-chain or via REST API.

View on GitHub →
🤖 MCP Server — For AI Agentshosted · 12 tools · BUSL-1.1
Connecthosted · PyPI v1.0.7
# Hosted — no install, no API key:
{
  "mcpServers": {
    "tcg-oracle": {
      "url":
        "https://mcp.the-undesirables.com"
    }
  }
}

# Claude / Perplexity: add as a
# custom remote connector.

# Or run it locally:
pip install litvm-tcg-oracle

12 MCP Tools

search_tcg_productsSet-aware search across the full catalog, 25+ games
market_snapshotLive price + daily history for any card
trending_cardsBiggest movers across the catalog
card_forecast30-day risk forecast — conformal bands
simulate_priceFull simulation — conformal default, Monte Carlo opt-in
grade_cardAI card grading via Qwen 2.5 VL
grade_or_notGrading ROI verdict — is the slab worth it
optimize_portfolioPosition sizing across a card portfolio
check_accuracyThe oracle's own scored track record
recommend_workflowWhich tools to chain for a goal
souls_in_walletUndesirables souls held by any wallet
soul_callsA soul's on-chain prediction record
TCG Price Oracle — Live On-Chain Card Prices on LitVM