⛓️ 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 TWAP price feeds for the top 50 blue-chip cards (the USD source froze on 2026-09-07, so that feed has not moved since), real-time eBay comparable listings, 30-day price history with trend analysis, and a daily two-sided Japanese dealer board rooted on-chain each night — 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
Price 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 · 16 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

16 MCP Tools

search_cardsSet-aware search across the full catalog, 25+ games
get_priceLast published USD price for a card — labelled frozen since 2026-09-07
get_merkle_proofMerkle proof for a price against the on-chain root (LiteForge 4441)
get_graded_proofProof for a graded-slab value against the graded root
oracle_statusPanel freshness, roots, chain heads
get_forecastPer-card conformal forecast + Safe-Hold / Momentum grades (frozen USD basis, labelled)
simulate_priceSuspended while the USD panel is frozen — answers status=suspended, never charges
get_market_snapshotSuspended while the USD panel is frozen — answers status=suspended, never charges
get_jp_summaryJapanese two-sided dealer board as daily aggregates — live
get_graded_asksLive graded-slab asks for a product
get_loan_universeEvery rated graded slab with its liquidity tier and free-board flag
get_loan_terms_previewSix-step LTV derivation for a graded slab (product + grade)
get_sports_boardDaily sports movers board with conformal 7-day context
get_fantasy_leagueFantasy league standings driven by the sports oracle
get_census_summaryGrading-census depth across the graded universe
get_oracle_scorecardThe oracle's own scored track record
TCG Price Oracle — Live On-Chain Card Prices on LitVM