Robinhood-style price chart that displays Solana (SOL) and Volatility Shares 2x Solana ETF (SOLT) prices side by side.
The app calculates SOLT price = SOL price × ratio where the ratio is fetched fresh every trading day after US equity market open (9:30 AM ET).
| Source | Data | Auth |
|---|---|---|
| CoinGecko | SOL price + historical chart | Free, no key |
| Yahoo Finance | SOLT quote (via server proxy) | Free, no key |
The ratio is cached in localStorage so subsequent loads on the same day skip the fetch. After 9:30 AM ET on a new trading day, it automatically refetches.
If both APIs are unreachable, the app falls back to a hardcoded ratio from Jan 30, 2026 (5.41 / 117.18).
npm install
npm run devThe Vite dev server proxies /api/quote → Yahoo Finance automatically — no extra setup needed.
The repo includes a serverless function at api/quote.js that handles the Yahoo Finance proxy in production.
npm i -g vercel
vercelThat's it — Vercel auto-discovers the api/ directory and deploys the function alongside the static frontend.
├── api/
│ └── quote.js # Vercel serverless: proxies Yahoo Finance for SOLT quotes
├── src/
│ ├── main.jsx # React entry
│ ├── SolChart.jsx # Main chart component
│ └── ratioService.js # Ratio fetching, caching, and SOL history
├── vite.config.js # Dev proxy config
└── index.html
The SOLT/SOL ratio drifts over time due to daily 2x rebalancing, futures roll costs, and volatility decay. This tool provides estimates only — not financial advice.