Transparency

Methodology

Here is the lifecycle from fetching to displaying every exchange rate inside SuriRate.

Scraping

Cheerio-based parsers read HTML tables from Central Bank, Hakrinbank, Republic Bank, and Finabank. JSON APIs power DSB and CME.

Normalization

Rates are converted to numbers, clamped to two decimals, and tagged with bank metadata before rendering.

Caching

Next.js 15 revalidates every 12 hours. Results are also cached at the service-worker level for offline reads.

Best-rate badge logic

We scan all USD and EUR quotes, track the highest buy price and lowest sell price, and label them "Best" on the dashboard. This ensures you notice outliers instantly while still seeing each bank's spread.

Need bank-specific notes? Jump to the bank profiles.