Tier odds + EV

GET /api/v1/mystery/catalog/:tier_id/odds read:catalog

Returns the rarity distribution and expected value for one tier, derived from current pool inventory (scope: "pool"). Authoritative per-slot odds are governed on-chain; this is the display-friendly availability view.

Try it GET /api/v1/mystery/catalog/1/odds

These inputs are shared across all docs pages — an id entered here carries over.

response
401 20ms preloaded server-side with the default context
object · 3 keys
{
  "success": false,
  "message": "Invalid API key",
  "error": "API key not found or inactive"
}
curl (tracks the inputs above)
curl -X GET 'https://staging-service.rip.fun/api/v1/mystery/catalog/1/odds' \
  -H 'X-API-Key: rip_v1_…'

Response fields (data)

FieldDescription
total_availableItems currently available in the pool
average_item_valueInventory-derived EV per item (USDC decimal string)
rarity_groups[].name / tier_label / colorDisplay metadata per rarity group
rarity_groups[].min_price / max_price / avg_priceValue range within the group
rarity_groups[].available_count / probabilityCount + share of the pool

Errors

StatusCodeWhen
400invalid_tiertier_id is not a known tier

See Errors for the response envelope and the full code list.