One Rust SDK for wallets and apps on Fedimint, and the Kotlin, Swift, React Native and browser SDKs generated from it.
fedimint-sdk is a Rust crate: one API for wallets and apps to join
federations, hold ecash, and send and receive over Lightning and on-chain. The SDKs for the other
languages are generated from it with UniFFI, so each of
them is a view of that API and not a copy of it.
| Component | Source | Published as |
|---|---|---|
| Rust SDK | rust/fedimint-sdk |
fedimint-sdk on crates.io |
| Android SDK (Kotlin) | android |
org.fedimint:sdk on Maven Central |
| iOS SDK (Swift) | ios |
Not published yet |
| React Native | js/react-native |
@fedimint/react-native and @fedimint/react-native-bindings on npm |
| Browser SDK | js/web/sdk-web |
Not published yet |
The README in each of these directories has the details for its component.
The Rust crates are in rust/, the Android and iOS SDKs in android/ and ios/, and the
JavaScript packages in a pnpm workspace rooted at js/.
fedimint-sdk
├── rust
│ ├── fedimint-sdk
│ ├── ubrn
│ └── uniffi-bindgen
├── android
├── ios
├── js
│ ├── android
│ │ └── integration-tests
│ ├── examples
│ │ ├── expo-app
│ │ └── react-native
│ ├── react-native
│ │ ├── react-native
│ │ └── react-native-bindings
│ └── web
│ └── sdk-web
├── nix
└── scriptsrust/fedimint-sdk/examples: command-line programs that send and receive ecash, Lightning and on-chain payments.android/app: an Android app that calls the SDK through the Kotlin bindings.ios/Demo: the same app for iOS, in SwiftUI.react-nativeandexpo-app: React Native apps, without and with Expo.
See the contributing guide.
- SDK Developer Calls: We have developer calls every Wednesday at 4PM UTC to review PRs and discuss current development priorities. As a new developer, this is a great place to find good first issues and mentorship from the core team on how to get started contributing.
Used the wagmi library as a reference for the repo's structure.
Note
In October 2025, this repository was renamed from "Fedimint Web Sdk" to "Fedimint Sdk" as the react-native packages were added. See the discussion topic for details.
Note
The TypeScript SDK that this repository published to npm is no longer developed, and no further
versions of it are released: @fedimint/core, @fedimint/core-web, @fedimint/react,
@fedimint/transport-web, @fedimint/types, @fedimint/fedimint-client-wasm-bundler,
@fedimint/fedimint-client-wasm-web and create-fedimint-app. Its source is in this
repository's history, for example at commit
e4c7c59.