# Re:TCG Card Appraisal — Actual Sold Prices

> Re:TCG Card Appraisal — Actual Sold Prices is a paid API for AI agents from www.retcg.xyz, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-12).

Returns real transaction-based market prices for a specific trading card by ID, including graded slabs, across multiple currencies, with optional cost-basis PnL and 1-year value projection.

## Facts

- Endpoint: GET https://www.retcg.xyz/api/appraise/%7Bid%7D?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/re-tcg-card-appraisal-actual-sold-prices-ffa84cd2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1fqY0kO33tbln1XRvuigi

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability re-tcg-card-appraisal-actual-sold-prices-ffa84cd2
```

Example prompt: What did the Charizard ex Special Illustration Rare (pokemon:sv3pt5-199) actually sell for recently? I paid $250 for it back on 2024-06-15 — show me the breakdown by grade and tell me my PnL in USD and USDC.

## When to prefer this

Use this endpoint when you need actual transaction-verified sold prices (not listing/asking prices) for a specific trading card, especially for graded slabs or when you need multi-currency output, PnL calculations against a known cost basis, or cryptographic attestation of the price data. It covers low-value cards that other tools ignore. Prefer over general e-commerce search when you have a specific pokemontcg.io card ID and need defensible, sourced market data for insurance, resale, or portfolio tracking purposes.

## Known failure modes

- Unknown or malformed card ID returns an error — must use game:cardId format like pokemon:sv3pt5-199
- No recent sales data available for low-liquidity cards may return empty rows
- Invalid date format for 'on' parameter (must be YYYY-MM-DD) causes bad request
- Unsupported currency in 'denoms' list is silently ignored or errors
- Payment failure (x402 protocol) blocks the response with a 402 status

## How this service works

What a trading card actually sold for, not what someone is asking — including the ones worth less than the postage, where other tools stop looking. Whether a slab&#x27;s plastic paid for itself, and the trip onto Polygon or Solana and off again.

## Output

Returns a JSON object with the card's identity (name, number, rarity), set metadata (heat score, momentum, print phase, age in days), a rows array of actual observed sold prices broken down by condition and grade (e.g. PSA 9) with sale count and date range, optional PnL if cost basis was provided, a 1-year value projection with drift assumptions, and an on-chain cryptographic attestation (signer address, signature, Merkle root) verifying the price data integrity.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object",
     "required": [
      "id"
     ],
     "properties": {
      "id": {
       "type": "string",
       "description": "game:cardId — a pokemontcg.io id, e.g. pokemon:sv3pt5-199"
      }
     }
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "on": {
       "type": "string",
       "description": "YYYY-MM-DD you bought it; reports the corpus change since"
      },
      "paid": {
       "type": "string",
       "description": "your cost basis in USD; PnL is computed against it"
      },
      "denoms": {
       "type": "string",
       "description": "comma list of USD EUR USDC EURC GBP JPY ETH SOL BTC; all when omitted"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "pokemon:sv3pt5-199",
  "set": {
   "heat": 0.69,
   "name": "151",
   "phase": "out-of-print",
   "ageDays": 1094,
   "momentum30": 0.042
  },
  "card": {
   "name": "Charizard ex",
   "number": "199",
   "rarity": "Special illustration rare"
  },
  "paid": true,
  "rows": [
   {
    "cond": "PSA 9",
    "expo": -8,
    "mant": 37160000000,
    "basis": {
     "n": 2,
     "to": "2026-09-19",
     "src": "ebay sold",
     "from": "2026-02-27",
     "kind": "observed"
    },
    "denom": "USD",
    "price": 371.6
   }
  ],
  "attest": {
   "root": "0x…",
   "signer": "0xb0Fd9c696CE8B93Aee2e9f63A43A28383A5fa947",
   "signature": "0x…"
  },
  "projections": {
   "raw@365": {
    "steps": [
     {
      "n": 58,
      "days": 365,
      "phase": "out-of-print",
      "drift30": -0.0038
     }
    ],
    "value": 300.77
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/re-tcg-card-appraisal-actual-sold-prices-ffa84cd2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from www.retcg.xyz](https://www.zero.xyz/host/www.retcg.xyz/llms.txt)
