Build on Pull.
Everything on this site comes from a public JSON API and a public Solana program. Build bots, dashboards, Discord widgets or your own front end. No key needed; please cache and be gentle.
GET /api/strategiesEvery strategy with vault value, cards held, market cap and backing ratio. ?sort=value|cards|new|mcap
GET /api/strategies/:addressOne strategy: rules, treasury, next buy, pack pool, fee split, draw rules.
GET /api/strategies/:address/vaultEvery card the strategy has held, with status, draw and delivery.
GET /api/strategies/:address/rafflesEvery draw: round, randomness, snapshot root, ticket, winner, transactions.
GET /api/strategies/:address/raffles/:idOne draw, with live odds while it's pending.
GET /api/strategies/:address/raffles/:id/odds?wallet=One wallet's odds in a draw (live until it settles).
GET /api/strategies/:address/raffles/:id/snapshot.jsonThe published holder snapshot: recompute any draw from scratch.
GET /api/drawsUpcoming and recent draws across all strategies.
GET /api/solana/wallet/:addressA wallet across the platform: live odds, cards won, packs opened.
GET /api/solana/cards/:addressA wallet's Collector Crypt cards and which strategies would buy each one.
GET /api/marketThe live Collector Crypt market, normalized. ?pokemon=&grader=&gradeMin=&priceMax=
GET /api/activityPlatform activity feed: buys, draws, packs, donations, deliveries.
Base URL: https://api-production-8500a.up.railway.app
Embed a strategy
A live widget (vault, cards, next draw) for any page:
<iframe src="https://www.cardstrategy.family/embed/STRATEGY_ADDRESS"
width="360" height="200" style="border:0;border-radius:14px"></iframe>The program
Program cstrA8xcMgBYUDnYJtinfbgkqAFr7qTYS5yEac75Yqo on Solana. Accounts: Config, Strategy ["strategy", mint], vault ["vault", mint], Purchase ["purchase", strategy, id], PackPool ["pool", strategy], PackOpen ["pack", strategy, id]. Anyone can deliver a drawn card, donate a card, open a pack or sell a card back; see how it works.