tyiuandClaude Sonnet 5 b856454df5 Clean up templated text in README's Kotlin Multiplatform section
The module-layout bullets were still generic KMP-wizard boilerplate
("your project", a hypothetical CoreCrypto example never used here)
and omitted macOS, androidApp, desktopApp, and webApp entirely.
Replaces them with an accurate description of the actual layout.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FXcrACM5sok3M1KQJ8kByy
2026-09-12 12:43:54 +03:00
2026-09-12 12:02:59 +03:00
2025-03-30 23:02:38 -04:00
2026-09-12 12:02:59 +03:00
2024-02-21 10:14:20 -05:00
2025-03-31 00:53:43 -04:00

SatsPrice Logo

SatsPrice

This app fetches the price of Bitcoin relative to common fiat currencies from multiple sources, and converts inputted amounts between Sats, BTC, and the selected fiat currency.

GitHub downloads

Last Version License: GPL-3.0

Download and Install

Download on the Apple App Store Get it on Zap Store Get it on Obtaininum Get it on GitHub

Supported Platforms

iOS 16.0+ • macOS 13.0+ • Android 7.0+

Kotlin Multiplatform

This is a Kotlin Multiplatform project targeting Android, iOS, macOS, Web, and Desktop (JVM).

  • /shared contains almost the entire app — UI (built with Compose Multiplatform), view models, data sources, and domain logic. commonMain holds code shared by every target, alongside platform-specific source sets: androidMain, jvmMain (Desktop), appleMain (iOS and macOS), and webMain (JS and Wasm).

  • /androidApp, /desktopApp, and /webApp are thin launcher shells around shared's Compose UI.

  • /iosApp is a native SwiftUI app (shared across iOS and macOS), not Compose — it talks to shared through a hand-written bridge rather than rendering Compose directly.

Running the apps

Use the run configurations provided by the run widget in your IDE's toolbar. You can also use these commands and options:

  • Android app: ./gradlew :androidApp:assembleDebug
  • Desktop app:
    • Hot reload: ./gradlew :desktopApp:hotRun --auto
    • Standard run: ./gradlew :desktopApp:run
  • Web app:
    • Wasm target (faster, modern browsers): ./gradlew :webApp:wasmJsBrowserDevelopmentRun
    • JS target (slower, supports older browsers): ./gradlew :webApp:jsBrowserDevelopmentRun
  • iOS app: open the /iosApp directory in Xcode and run it from there.

Running tests

Use the run button in your IDE's editor gutter, or run tests using Gradle tasks:

  • Android tests: ./gradlew :shared:testAndroidHostTest
  • Desktop tests: ./gradlew :shared:jvmTest
  • Web tests:
    • Wasm target: ./gradlew :shared:wasmJsTest
    • JS target: ./gradlew :shared:jsTest
  • iOS tests: ./gradlew :shared:iosSimulatorArm64Test

Attribution

This project uses Kotlin Multiplatform, Compose Multiplatform, and Kotlin/Wasm.

The Bitcoin Calculator icon was created by Icon home and licensed as free for personal and commercial use with attribution.

The following free APIs are used:

S
Description
SatsPrice fetches the price of Bitcoin relative to common fiat currencies from multiple sources, and converts inputted amounts between Sats, BTC, and the selected fiat currency.
Readme
2.4 MiB
v1.2.0
Latest
2025-03-31 03:05:34 +00:00
Languages
Kotlin 83%
Swift 15.8%
C 0.6%
HTML 0.5%