/api/v1/instant/catalog read:catalog Lists the booster packs you can sell as instant packs — a purchase that buys AND opens the pack in one on-chain transaction, so there’s no pack NFT sitting around waiting to be opened. Every pack is backed by a pre-built card bundle from a physically ripped pack, and available_packs is the live bundle count. Use packet_type_id with the purchase endpoint. By default only packet types with availability are listed; add ?include_unavailable=1 to see sold-out ones too.
GET /api/v1/instant/catalog?limit=10 These inputs are shared across all docs pages, so an id entered here carries over.
{
"success": false,
"message": "Mystery partner API key required",
"error": "This endpoint requires an API key linked to a mystery partner account"
}curl -X GET 'https://service.rip.fun/api/v1/instant/catalog?limit=10' \ -H 'X-API-Key: rip_…'
| Field | Type | Required | Description |
|---|---|---|---|
include_unavailable | query int | — | `1` → include packet types with zero available bundles (default: only available) |
limit / offset | query int | — | Pagination |
data)| Field | Description |
|---|---|
packs[].packet_type_id | On-chain packet type id, used by the purchase endpoint |
packs[].set_id / set_name | The set the pack belongs to, e.g. sv8pt5 / "Prismatic Evolutions" |
packs[].product_id / name | Product id + booster pack display name |
packs[].image_url / large_image_url | Pack artwork |
packs[].price / price_usdc | Pack price (USDC micros string + decimal display, "4990000" = 4.99 USDC) |
packs[].available_packs | Pre-built card bundles currently available to draw |
packs[].tcg_type / language | Game + language, e.g. "pokemon" / "ENGLISH" |
| Status | Code | When |
|---|---|---|
| 403 | Insufficient permissions | key lacks the read:catalog scope |
See Errors for the response envelope and the full code list.