The reason for the difference is that Revolut adds a markup on weekend currency exchanges. If you trade during the week, it will be much, much closer to the interbank rate. Here's the explanation from the Revolut site:
"The foreign exchange markets are illiquid, effectively closed, between Friday 5pm New York time and Monday 7am Auckland time. Therefore if you transact any FX between these times with Revolut, either changing money between currencies or spending on the card in a currency in which you do not hold a balance, then Revolut has no FX market rate to use. Consequently Revolut takes Friday’s closing rate and applies a markup of 0.5% for currency pairs containing any combination of USD, GBP, EUR, AUD, CAD, NZD, CHF, JPY, SEK, HKD, NOK, SGD, DKK, PLN or MXN, and 1% for any other currency pair. This markup protects Revolut against any market movement when the FX markets reopen on Monday morning."