Multi-Currency Support
Agni Folio is built for investors whose money lives in multiple currencies. A holding in US stocks, an Indian fixed deposit, a London property, and a Singapore-dollar bond all coexist in one unified net-worth view — automatically converted to your preferred display currency using real-time FX rates.
Three currency layers
Section titled “Three currency layers”| Layer | What it is | Set where | Example |
|---|---|---|---|
| Holding currency | The currency the asset is denominated in | Auto-detected per entry | AAPL = USD, RELIANCE.NS = INR |
| Account base currency | The currency the account naturally operates in | When you create the account | Schwab Brokerage = USD |
| Display currency | What you see across the dashboard | In Settings → Preferences | Your global default, e.g., USD |
When these differ, Agni Folio converts using the current FX rate. A USD-denominated AAPL holding in your INR Zerodha account, displayed in EUR, traverses two conversions — and both happen server-side for accuracy.
Supported currencies
Section titled “Supported currencies”17+ currencies with daily auto-updated rates: USD, EUR, GBP, INR, JPY, CAD, AUD, SGD, CHF, HKD, CNY, AED, SAR, ZAR, NZD, SEK, NOK, and growing.
The full list is in Settings → Preferences → Display Currency.
Daily FX rate refresh
Section titled “Daily FX rate refresh”Exchange rates update once per day at 2 AM UTC via a scheduled job. Sources are a combination of:
- Major fiat pairs (USD, EUR, GBP, INR, etc.) — from a tier-1 FX data provider
- Crypto/fiat pairs — from CoinGecko
- Cached for the entire day to keep page loads fast
Currency conversion is server-side only
Section titled “Currency conversion is server-side only”This is a strict architectural rule in Agni Folio: all currency conversion happens on the backend, never in your browser.
Why this matters:
- Avoids float-precision drift across JavaScript engines
- Single source of truth for FX rates (no version skew between cached browser data and backend)
- Tax-relevant calculations (realised gains in display currency) are deterministic and auditable
- Performance: one cached conversion per holding, not per render
The frontend only displays pre-converted values. If you ever see a number that doesn’t add up, the bug is on the backend, not your browser.
Changing your display currency
Section titled “Changing your display currency”Switch display currency in Settings → Preferences → Display Currency. The entire dashboard recomputes — holdings table, performance view, AI insights, all immediately reflect the new currency.
There’s no per-page override. The display currency is a single global setting.
Cross-currency edge cases
Section titled “Cross-currency edge cases”- Crypto quoted in USD or stablecoins (USDT, USDC) — treated as USD for FX purposes
- GBp (pence) vs GBP — UK stocks sometimes quote in pence (multiply by 100); Yahoo Finance handles this internally, Agni Folio reflects the corrected value
- Currencies with no daily quote — fall back to the last known rate; flagged in the UI if more than 7 days stale
What’s next
Section titled “What’s next”- Accounts — each account has a base currency you set at creation
- Tracking Investments — how holdings inherit currency from the asset
- Portfolio Insights — the dashboard where all currencies converge