Data model
A quick mental model of the objects Holdency works with: coins, packs, baskets and holdings.
Core objects
| Object | Shape (illustrative) |
|---|---|
| Coin | { sym, name, emoji, w } — symbol, display name, icon, weight |
| Pack | { slug, name, theme, coins[] } — a curated, themed basket |
| Basket | { id, name, coins[], creator } — community-built |
| Holding | { id, kind, spent, coins[], value, perf } — what a user holds |
Pricing fields
Prices resolve to { price, change, icon } per symbol, cached in the browser. Packs compute a weighted 24h performance from their coins' change values.
PersistenceAccounts, holdings and baskets persist to a Postgres backend (Supabase) with row-level security; guests fall back to local storage.