Inside Revolut Engineering: Banking at Hyperscale
By Dany Chaker
Revolut processes $2T+ payments yearly with <50ms latency. How?
Tech Stack Highlights
Infrastructure: Kubernetes + Finagle
// Finagle service (Scala)
class PaymentService extends Service[Req, Resp] {
def apply(req: Req): Future[Resp] = {
for {
validated <- validator(req)
charged <- stripe.charge(validated)
notified <- notification.send(charged)
} yield SuccessResp
}
}
Data Platform
- Kafka Streams for real-time fraud
- ClickHouse for analytics (1PB+)
- Vitess for MySQL sharding
Engineering Culture
Weekly Tech Talks:
- Rust for payments infra
- WASM for micro-frontends
Open Source:
- REngine – Kotlin coroutines framework
Challenges Solved
- 99.999% Uptime: Chaos engineering with Litmus
- Regulatory Compliance: GDPR + PCI-DSS automation
- Multi-Cloud: GCP + AWS hybrid
Key Lesson: Monolith → Microservices → Platform Engineering.
Careers @ Revolut Tech
- 400+ engineers, 50 nationalities
- Remote-first (post-COVID policy)
- Stack: Scala, Kotlin, Go, Rust
Follow @RevolutEngineering for deep dives.
[Data from Revolut Tech Blog 2024]