/api/v1/mystery/price read:catalogA card’s market value and the buyback price (85% of market value) that POST /buyback would offer. Query by exactly one of ?card_id= or ?token_id=. A token that resolves to a graded slab is priced from the (card, grading company, grade) market feed — never the raw card value (no graded market price → 404 value_unknown). item_type / value_source in the response say what was actually priced. Cached ~60s.
GET /api/v1/mystery/price?token_id= These inputs are shared across all docs pages — an id entered here carries over.
Not run yet — press Run to make a live call against https://service.rip.fun (through this demo's server-side proxy; the API key never reaches the browser).
curl -X GET 'https://service.rip.fun/api/v1/mystery/price?token_id=' \ -H 'X-API-Key: rip_…'
| Field | Type | Required | Description |
|---|---|---|---|
card_id | query string | — | Canonical card id, e.g. base1-4 (exactly one of the two) |
token_id | query string | — | On-chain token id from a revealed pull (raw Card or GradedCard slab) |
item_type | query string | — | "CARD" or "GRADED_CARD" — disambiguates a token number that exists as both (slab wins otherwise) |
data)| Field | Description |
|---|---|
card_id / token_id | Resolved card; token_id echoes the query (null when queried by card_id) |
market_value_usdc | Canonical market value (card.raw_price, oracle fallback) |
buyback_price_usdc | What a buyback offer would pay (default 85% of market value) |
updated_at | Last oracle refresh (null when no oracle row exists) |
| Status | Code | When |
|---|---|---|
| 400 | invalid_price_query | zero or both of card_id / token_id supplied |
| 404 | not_found | unknown card or token |
| 404 | value_unknown | card exists but no market price is available |
See Errors for the response envelope and the full code list.