Revolut Clone Features: The Control Plane Is the Product
Consumer banking apps are a solved interface problem. What separates a digital bank that survives from one that stalls is everything behind the screen: reason-based admin actions, an audit log that reconstructs any decision, role-based access, and a BaaS layer you can switch providers inside. Here is what ships, grouped by who touches it.
Request a Live Demo →See PricingFeature Set by Role
Three distinct products in one platform - a consumer banking app, a business finance suite, and the Banking Core that governs both. Most fintech scripts build the first and stop.
Retail Customer
- Multi-currency accounts across 26+ currencies
- Balances held and viewed per currency
- FX conversion between held currencies
- Physical and virtual card issuance
- Card controls, limits and freeze
- Transfers, both domestic and international
- Transaction history with a running ledger view
- Account-level security controls and notifications
Business Customer
- Business accounts alongside the retail product
- Invoicing and receivables tracking
- Payroll and bulk transfer workflows
- Expense management and spend controls
- Vendor management and payables
- Multi-step approval workflows on money movement
- Operational reporting across the organisation
- Team members with scoped permissions
Banking Core Operator
- Reason-based admin actions - nothing changes anonymously
- Full audit log across accounts, transactions and decisions
- Role-based access control per module
- BaaS provider configuration and routing
- Webhook handling, replay and provider-event sync
- FX rate and spread configuration
- Card programme management and provisioning
- Compliance and governance workflows
"Reason-based admin actions" is the phrase worth pausing on. Every operator intervention carries a recorded justification, which means a year later you can answer not just what changed but why - and in a regulated product that distinction is the difference between an audit you pass and one you do not.
Revolut vs Miracuves Clone vs Building From Scratch
The same capability, three different paths. Every row that separates them sits behind the app rather than inside it.
| Capability | Original Revolut | Miracuves Clone | Generic fintech script |
|---|---|---|---|
| Multi-currency accounts | Yes, extensive | 26+ currencies with balances held per currency and FX conversion between them | One base currency, display conversion |
| BaaS integration | Own licences plus partners | 5+ providers behind a configurable layer, with routing and provisioning | One hardcoded provider, if any |
| Webhook reliability | Industrial | Webhook handling with replay operations and provider-event synchronisation | Fire-and-forget - and reconciliation gaps follow |
| Admin accountability | Regulated and audited | Reason-based admin actions with a full audit log | An admin who can change a balance silently |
| Business finance | Separate Revolut Business | Invoicing, payroll, expenses, vendors and approvals in the same platform | Absent - consumer only |
| Card programmes | Physical and virtual at scale | Physical and virtual issuance with controls, limits and provisioning | Rarely present |
| Access control | Enterprise-grade | Role-based access per module, so support cannot reach the ledger | One admin role with everything |
| Source code | Not available | Complete Node.js and Flutter source at handover, rebranded | Often encrypted or licence-checked |
| Time to live | Not applicable | Six working days | Quarters, and governance lands last |
Row three is the one experienced fintech operators check first. Webhooks from a banking provider fail, arrive out of order and duplicate; without replay and synchronisation you discover the gap during a reconciliation rather than when it happens.
How It Works, End to End
A customer from onboarding to a cross-currency card payment, traced through every provider hop and every record the platform writes.
Onboarding, with the provider behind it
A customer signs up and an account is provisioned through whichever BaaS provider you have routed that product to. Because the provider sits behind a configurable layer rather than in the application logic, the customer experience does not change if you later route somewhere else.
Currency balances, held separately
The customer holds balances in each of the currencies they use rather than one balance with a display conversion. That is the structural difference between a multi-currency product and a single-currency one wearing a currency selector.
Conversion happens at your spread
FX conversion between held currencies runs at rates and spreads you configure in the Banking Core. This is a primary revenue line rather than a convenience feature, so it is an operator setting rather than a hardcoded value.
A card is issued and provisioned
Physical or virtual, issued through the provider, with controls, limits and freeze available to the customer. Card programme management sits in the Banking Core, so limits and product rules are operator-set rather than per-customer support work.
The provider fires a webhook, and it is handled properly
Authorisation, settlement and status events arrive asynchronously - and sometimes late, out of order or twice. The platform handles them with replay operations and provider-event synchronisation, so the ledger converges on truth rather than on whichever event arrived last.
A business customer runs the same money differently
The same accounts and ledger underneath, but wrapped in invoicing, payroll, expense and vendor workflows with multi-step approvals. Business finance is not a separate product here, which is what lets one customer graduate from personal to business without leaving.
An operator intervenes, and says why
Every admin action - a limit changed, an account frozen, a transaction reversed - carries a reason and lands in the audit log against the staff member who took it, scoped by their role. That record is what a regulator, an auditor or a disputing customer is eventually shown.
Steps five and seven are where fintech products are actually judged. Anyone can move money once; the question is whether you can explain every movement afterwards, including the ones a human intervened in.
Every Feature Earns Its Place
Feature lists are cheap. These exist because a specific thing goes wrong in a banking product without them.
| Capability | Why it is not optional |
|---|---|
| Reason-based admin actions | Because "the balance was adjusted" is not an answer. Without a recorded justification attached to the actor, an audit becomes an archaeology exercise and a dispute becomes your word against the customer's. |
| A full audit log | Because in a regulated product the ability to reconstruct any state at any past moment is not a nice-to-have. It is what turns an incident into an explanation. |
| Role-based access per module | Because a support agent resolving a card query should not be able to reach the ledger. Single-role admin is the most common and most serious governance failure in fintech scripts. |
| Webhook replay | Because provider events fail, duplicate and arrive out of order. Without replay you cannot recover from a provider outage without manual reconciliation across every affected account. |
| Provider-event synchronisation | Because your ledger and the provider's must agree. A platform that trusts the last event it received will drift, and the drift is discovered at month end. |
| A configurable BaaS layer | Because provider relationships end. If the provider is wired into your application logic, changing them is a rebuild rather than a configuration change. |
| Balances held per currency | Because a single balance with display conversion is not multi-currency - it hides FX exposure and makes the spread you earn impossible to account for cleanly. |
| Operator-set FX spread | Because conversion margin is a primary revenue line. Hardcoding it means a pricing change requires a deployment. |
| Approval workflows on business money | Because a business customer's finance controls are the reason they choose a business account. Payroll with no approval step is a product no CFO will adopt. |
| Card controls in the customer's hands | Because freeze and limits reduce fraud losses and support volume simultaneously, and both of those are your costs. |
Seven of these ten are governance rather than features. That ratio is correct for a banking product, and a vendor whose list is all interface and no control plane has built the easy half.
The Technology Behind the Features
Choices made for auditability and extensibility rather than novelty.
Why TypeScript and PostgreSQL rather than something faster to write
Financial software is read far more often than it is written, and it is read under pressure - during a reconciliation break, an incident or an audit. A typed API layer makes the money-moving paths explicit rather than implicit, and PostgreSQL's transactional guarantees are what let a ledger entry and a balance update succeed or fail together. Neither choice is exciting. Both are the reason the platform can still be reasoned about in year three, which in this category matters more than development velocity in month one.
Complete source transfers to you at handover, with rebranding and white-labelling included.
What Is Not Included in the Base Package
Everything above ships in the ready-made platform. These sit in the Enterprise tier or belong to you - and in a regulated category the second list is the one that decides whether you can launch.
Enterprise scope, or yours to own
- A banking licence, or a sponsor who has oneThe platform is software. Whether you hold an EMI, banking or payments licence in your jurisdictions, or operate under a sponsor bank or licensed BaaS partner, is entirely yours - and it decides what you are legally permitted to offer. Settle it before you build.
- The BaaS provider relationship itselfFive-plus providers are supported behind a configurable layer. Being accepted by one, and the commercial terms you get, is a negotiation you own.
- Regulatory compliance programmeThe platform provides audit logs, reason-based actions, RBAC and governance workflows - the evidence layer. Your compliance policies, reporting obligations, and the people running them are yours.
- KYC/AML provider integration beyond the baseCompliance-ready architecture ships. A specific named identity, sanctions-screening or transaction-monitoring vendor is Enterprise scope.
- Card scheme certificationCard issuance runs through your provider. Scheme-level certification and the associated programme management sit with them and with you.
- Multi-region and high-scale deploymentA single-region deployment on your cloud is included. Multi-region, custom infrastructure topology and advanced analytics are Enterprise scope.
- Deeper governanceFour-eyes approval on defined operations, maker-checker workflows beyond the base, and bespoke compliance reporting are quoted separately.
- Treasury and liquidity managementHolding and managing float across currencies is a treasury function, not a software feature, and it is yours.
- ISO 27001 and SOC 2Neither certificate is held and neither is claimed. The architecture is built so the evidence gathering is possible; certification is a separate programme.
The first item dominates everything else on this page. In this category the software is genuinely the easier half - what you are permitted to offer, and who sponsors that permission, determines the product before a line of it is configured.
See how Miracuves compares to agencies and freelancers
The deployment process, named fintech client deployments, and what to verify on audit logging and webhook handling before you hire anyone.
Frequently Asked Questions
Do I need a banking licence to use this?
What does "reason-based admin actions" actually mean?
Can I switch BaaS providers later?
How are multi-currency balances handled?
What happens when a provider webhook fails?
Is business banking a separate product?
Freeze an account, then show me why
That is the demo worth asking for. The audit log and the reason attached to it tell you more than any feature list.
Explore the Revolut Clone
Ready to launch your own digital bank?
Deploy in six days with retail, business and the Banking Core on one ledger, 26+ currencies, 5+ BaaS providers behind a configurable layer, and full source on infrastructure you own.
Talk to Us →Miracuves is an independent software development company. We are not affiliated with, connected to, sponsored by, or endorsed by Revolut.
“Revolut Clone” is used descriptively. It is how the software industry refers to building a platform with functionality similar to Revolut, and how clients search for it.
The entire design and codebase is built by our own team. The product contains no code, design, graphics, or content originating from the Revolut website or applications.
Revolut and all other third-party names and marks are the property of their respective owners, referenced here solely to describe the category of software offered.