1.6 KiB
epic, story, title, status
| epic | story | title | status |
|---|---|---|---|
| 3 | 3.2 | Cryptocurrency Provider | draft |
Epic 3 — Currency & Cryptocurrency
Goal: Real-time and historical currency conversion with 180+ fiat and 50+ crypto.
Story 3.2: Cryptocurrency Provider
As a CalcPad user, I want live cryptocurrency rates for the top 50+ coins updated hourly, So that I can convert between crypto and fiat currencies.
Acceptance Criteria:
Given the engine is initialized with network access When crypto rates are requested Then it fetches live rates from CoinGecko free API (or configured provider) And at least 50 top cryptocurrencies by market cap are included (BTC, ETH, SOL, ADA, etc.)
Given crypto rates have been fetched When the rates are stored Then they are cached locally on disk with a timestamp And the cache refresh interval is configurable (default: 1 hour)
Given the expression 1 BTC in USD
When the engine evaluates it with current rates
Then it returns the current USD value of 1 Bitcoin
And the result metadata includes the rate timestamp
Given the expression $1000 in ETH
When the engine evaluates it
Then it returns the equivalent amount in Ethereum
Given the device is offline When a crypto conversion is requested Then the engine uses cached rates And the result metadata indicates the age of the cached rates
Given a crypto symbol that could be ambiguous (e.g., a future coin with a symbol matching a fiat currency)
When the engine encounters it
Then fiat currencies take precedence by default
And the user can disambiguate using explicit notation (e.g., crypto:SOL)