Primary backend components
server/collectible-actions.tsserver/pack-actions.tsserver/featured-collectible-actions.tsserver/minting-actions.tsapp/api/packs/route.tsapp/api/packs/[id]/route.tsapp/api/packs/[id]/purchase/route.tsapp/api/packs/[id]/open/route.tsapp/api/user/collectibles/route.tsapp/api/user/packs/route.tsapp/api/user/featured-collectibles/route.tsapp/api/binders/[id]/route.tsapp/api/binders/[id]/verify-pin/route.tsapp/api/v1/cards/[id]/provenance/route.tsserver/binder-actions.tsserver/card-provenance-actions.ts
Core model touchpoints
CollectiblePackPackCollectiblePackPurchaseUserCollectibleUserFeaturedCollectibleMintedNFTMarketSale(provenance transfers)- Binder models (
Binder, binder cards)
High-level flow
Architectural notes
- Pack open behavior resolves weighted contents and persists ownership outcomes.
- Collectible ownership and mint records are related but not identical entities.
- Featured collectible views are read-optimized on top of core ownership models.
- Binder PIN proof is a short-lived HMAC token scoped to one binder. It is not the wallet or market PIN token.
- Card provenance is assembled from existing ownership, sale, and mint rows. There is no dedicated provenance table.
- Binder card league labels come from
Team.leagueRelation.
