Bank of Russia rates
Official Bank of Russia exchange rates on-chain, with history by date. A relayer publishes them once a day in one transaction. Rates are stored as the CBR publishes them: roubles per nominal.
Call the CBR smart contract
The button calls requestRate on the CBR rates contract (CbrRateConsumer). If there is no rate for that date yet, the contract opens a request, the cbr-rates relayer fetches the rate from cbr.ru and writes it to the contract. The result shows up here in a few seconds. Needs a wallet allowed to call requestRate.
The CBR rates contract address is not set: build the explorer with CBR_CONSUMER_ADDRESS.