Summary
Add USD price display for mainnet PLOT and storyline tokens. Reference Dropcast's lib/usd-price.ts for the price fetching pattern.
Architecture
- Only need to track USD price for the mainnet PLOT token on Base mainnet
- Testnet /
PL_TEST USD pricing is out of scope for this issue
- All storyline token values derive from PLOT price (storyline tokens are priced in PLOT via MCV2 bonding curve)
- USD value = storyline token price in PLOT × PLOT USD price
Implementation — reference ~/Projects/dropcast/lib/usd-price.ts
- Create
lib/usd-price.ts with fallback chain:
- Mint Club SDK —
mintclub.network('base').token().getUsdRate()
- GeckoTerminal API — free, covers DEX-traded tokens
- CoinGecko API — optional fallback (controlled by env flag)
- DB cache fallback — return last known price if all APIs fail
- Price cache TTL: ~2 minutes
- Display USD values on: story cards, story page, profile portfolio, token page
Acceptance Criteria
Summary
Add USD price display for mainnet PLOT and storyline tokens. Reference Dropcast's
lib/usd-price.tsfor the price fetching pattern.Architecture
PL_TESTUSD pricing is out of scope for this issueImplementation — reference
~/Projects/dropcast/lib/usd-price.tslib/usd-price.tswith fallback chain:mintclub.network('base').token().getUsdRate()Acceptance Criteria