// the find
RevenueCat/purchases-kmp
RevenueCat SDK for Kotlin Multiplatform
Official RevenueCat SDK for Kotlin Multiplatform, wrapping their existing native Android and iOS SDKs behind a common KMP interface. Targets app developers who are already using or planning to use RevenueCat for subscription management and want a single codebase for both platforms. This started as the community-built KobanKat project and was adopted by RevenueCat.
The apiTester module is genuinely useful — it compiles against every public type and method, so breaking API changes get caught at build time rather than at runtime for users. The build-logic convention plugin handles the Swift/cinterop bridging in a reusable way, which is the hardest part of KMP+iOS setups to get right. Active release cadence with a proper CHANGELOG and binary compatibility tracking via the .api files, which most KMP libraries skip. The migration guide from KobanKat is thoughtful — they didn't just drop the previous users.
This is a thin wrapper over two separate native SDKs, not a ground-up KMP implementation, which means you're still pulling in the full native dependency graph on each platform — the KMP layer doesn't reduce your binary size or dependency footprint. Web/Wasm/Desktop targets are absent, so if your KMP project has any non-mobile target you're back to writing platform-specific billing code anyway. The iOS side uses Swift package bridging through cinterop, and that build pipeline is notoriously fragile across Xcode versions — the presence of custom Gradle tasks for Swift compilation is a warning sign. At 285 stars it's not widely battle-tested outside of RevenueCat's own dogfooding.