The situation
A fintech platform had been operating on a BaaS arrangement since launch — chosen for speed-to-market when the platform was processing $400K monthly. Three years later, the platform was processing $6M monthly and the payment economics had become a board-level conversation. The BaaS arrangement was generating approximately $430K annually. The economics modeling showed a direct bank relationship should generate approximately $1.31M at the same volume — a $880K annual gap.
The platform had two additional constraints: the BaaS contract had a 12-month notice provision, and the integration architecture had been built tightly against the BaaS provider's specific API endpoints and data models — there was no abstraction layer.
What made the migration harder than expected
The compliance gap was larger than anticipated. The platform had relied on the BaaS provider's compliance infrastructure for three years — including transaction monitoring tooling, SAR filing support, and bank reporting. When the compliance team began building an independent BSA/AML program for the direct bank relationship, they discovered that the institutional knowledge of their compliance obligations was shallower than it should have been. Building a bank-ready BSA/AML program from that starting point took 18 weeks rather than the projected 10.
The integration re-architecture took 7 months — 3 months longer than projected — because the coupling to the BaaS API was deeper than the initial assessment captured. Several customer-facing features depended on BaaS-specific data structures that required product changes, not just engineering changes.
What the migration produced
The platform ran parallel programs for 4 months — migrating customer segments from BaaS to direct in batches to manage operational risk. The full migration completed at month 16. Post-migration economics: approximately $1.29M annually — within 2% of the projected $1.31M.
The float economics negotiated in the direct bank agreement added $112K in year one — a revenue stream that hadn't existed on the BaaS program because the BaaS provider retained all float yield under the original contract terms.
What this illustrates
The migration recovered the projected economics, but the timeline and difficulty were higher than they needed to be. The compliance gap and integration coupling were both preventable at program design time. Platforms on BaaS that anticipate migrating at some future volume threshold should be building compliance program independence and integration abstraction layers now — not at the migration trigger.