Wallet holdings

GET /api/v1/wallets/:address/holdings packs:read

The read behind a "you hold this prize: redeem it, or keep it" screen. Unlike GET /mystery/collection, which walks YOUR purchases, this walks the WALLET — so a prize you sent, which has no purchase behind it, appears here. Each row carries the one fact the holder needs next: whether it can be redeemed now, whether a redemption is already running, and whether it can be sold back.

Try it GET /api/v1/wallets/0x0000000000000000000000000000000000000000/holdings?limit=10

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

response
403 25ms preloaded server-side with the default context
object · 3 keys
{
  "success": false,
  "message": "Mystery partner API key required",
  "error": "This endpoint requires an API key linked to a mystery partner account"
}
curl (tracks the inputs above)
curl -X GET 'https://service.rip.fun/api/v1/wallets/0x0000000000000000000000000000000000000000/holdings?limit=10' \
  -H 'X-API-Key: rip_…'

Request fields

FieldTypeRequiredDescription
item_typequeryCARD | GRADED_CARD | SEALED_PRODUCT — omit for everything
limit / offsetquery1-100 (default 50) and 0-10000

Response fields (data)

FieldDescription
holdings[].item_type / token_id / unique_id / contract_addressWhat it is and where it lives on chain
holdings[].redeem_statusREDEEMABLE (on-chain, unburned, redeemable now) · REDEEMING (a redemption of yours is live) · REDEEMED (burned — the physical item shipped) · NOT_REDEEMABLE (listed, mid-open, or not on chain)
holdings[].redemptionThe live redemption's id and status, or null. Partner-scoped — another partner's in-flight redemption is not disclosed to you
holdings[].buyback{ eligible, expires_at } for cards and slabs, from the indexed sell-back window. eligible:false with a window present means the window names somebody else. null for a sealed product, which has no window
holdings[].name / image_url / value_usd / grade / grading_companyCatalog hydration for display

Errors

StatusCodeWhen
400invalid_wallet_addressthe :address segment is not a 0x-prefixed wallet address
400invalid_item_typeitem_type is not one of the three

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