Skip to main content
GET
/
api
/
vm
/
available
List available packs
curl --request GET \
  --url https://api.example.com/api/vm/available
[
  {
    "id": "BSG6Dy...",
    "slug": "topps-chrome-2024",
    "platform": "mainnet",
    "name": "Topps Chrome 2024",
    "enable": true,
    "description": "Pull from the latest Topps Chrome series.",
    "mint_price": 100.00,
    "max_per_mint": 10,
    "in_stock": true,
    "categories": ["Baseball", "Basketball"],
    "ev": 104.00,
    "min_ev": 101.00,
    "max_ev": 105.00,
    "ev_updated_at": "2026-03-10T18:00:00.000Z",
    "buyback_percent": 0.85,
    "claw_image_url": "https://cdn.phygitals.com/packs/topps-chrome-2024.png",
    "rarity_distribution": [
      { "id": 0, "name": "Common", "color": "#22C55E", "lower": 60, "upper": 100, "weight": 80 },
      { "id": 1, "name": "Rare",   "color": "#A855F7", "lower": 100, "upper": 200, "weight": 15 },
      { "id": 2, "name": "Epic",   "color": "#EF4444", "lower": 200, "upper": 500, "weight": 4 },
      { "id": 3, "name": "Mythic", "color": "#F59E0B", "lower": 500, "upper": 15000, "weight": 1 }
    ]
  }
]
Returns every pack available on Phygitals. Use this to discover pack IDs, prices, and chase previews before calling authenticated purchase endpoints.
No authentication required. This is a public read endpoint. Authenticated purchase flows use POST /api/vm/buy/crypto.

Query parameters

platform
string
default:"mainnet"
Platform filter. For example mainnet for first-party Phygitals packs.
includeRepacks
boolean
default:"false"
When true, include partner repack listings in the response. Defaults to false.

Example request

GET /api/vm/available?platform=mainnet

Response

[
  {
    "id": "BSG6Dy...",
    "slug": "topps-chrome-2024",
    "platform": "mainnet",
    "name": "Topps Chrome 2024",
    "enable": true,
    "description": "Pull from the latest Topps Chrome series.",
    "mint_price": 100.00,
    "max_per_mint": 10,
    "in_stock": true,
    "categories": ["Baseball", "Basketball"],
    "ev": 104.00,
    "min_ev": 101.00,
    "max_ev": 105.00,
    "ev_updated_at": "2026-03-10T18:00:00.000Z",
    "buyback_percent": 0.85,
    "claw_image_url": "https://cdn.phygitals.com/packs/topps-chrome-2024.png",
    "rarity_distribution": [
      { "id": 0, "name": "Common", "color": "#22C55E", "lower": 60, "upper": 100, "weight": 80 },
      { "id": 1, "name": "Rare",   "color": "#A855F7", "lower": 100, "upper": 200, "weight": 15 },
      { "id": 2, "name": "Epic",   "color": "#EF4444", "lower": 200, "upper": 500, "weight": 4 },
      { "id": 3, "name": "Mythic", "color": "#F59E0B", "lower": 500, "upper": 15000, "weight": 1 }
    ]
  }
]

Key fields

id
string
Pack identifier (mint address). Pass as claw_id in POST /api/vm/buy/crypto.
slug
string
URL-friendly identifier. Pass as :slug in GET /api/vm/chase/:slug.
mint_price
number
Price per pull in USD.
max_per_mint
number
Maximum pulls per transaction. Enforce client-side before calling POST /api/vm/buy/crypto.
in_stock
boolean
false means sold out. Disable the buy button when this is false.
ev
number
Expected value per pull in USD.
buyback_percent
number
Fraction of FMV paid on sellback. For example, 0.85 = 85%.
rarity_distribution
array
Array of rarity tiers with color, value range (lower/upper in USD), and weight (relative probability).

Additional fields

The response also includes the following fields. You only need the documented fields above for most integrations. Additional fields are returned for forward-compatibility and may be ignored.
FieldTypeDescription
type"CORE" | "EBAY"Pack source. "EBAY" = packs backed by the secondary card market. "CORE" = packs backed by minted core inventory.
chaseArray<{ id, name, image, fmv }>Inline preview of high-value chase cards. Equivalent to calling GET /api/vm/chase/:slug.
num_pulls_7dnumberTotal pulls from this pack over the past 7 days.
categorystringSingular convenience copy of categories[0]. Prefer categories.
creator_profile{ id, wallet_address?, username?, profile_picture?, twitter_username?, socials? }Pack creator profile.
pack_managersArray<{ id, username, profile_picture, role }>Users with management rights on the pack.
repackbooleantrue if the pack is a partner repack, false for first-party Phygitals packs.
last_pullstring | nullISO timestamp of the most recent pull on this pack.
variant_ofstring | nullIf this pack is a variant, the parent pack’s id.
variantsArray<object>Sibling/child variants of this pack.
rewards_amountsnumber[]Per-pull bonus token amounts (in raw token units).
sellback_rewards_amountsnumber[]Per-sellback bonus token amounts.
rewards_mint_addressesstring[]SPL/EVM mint addresses for bonus tokens.
rewards_symbolsstring[]Display symbols for bonus tokens.
rewards_decimalsnumber[]Decimals for bonus tokens.