> ## Documentation Index
> Fetch the complete documentation index at: https://bkey.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Add bmoni_embedded_sdk to your Flutter project.

## Add the dependency

```yaml pubspec.yaml theme={null}
dependencies:
  bmoni_embedded_sdk: ^0.0.2
```

Then run:

```bash theme={null}
flutter pub get
```

***

## Requirements

|                         | Minimum   |
| ----------------------- | --------- |
| Flutter                 | `>=3.3.0` |
| Dart SDK                | `^3.11.5` |
| Android `minSdkVersion` | `24`      |
| iOS deployment target   | `13.0`    |

***

## Android setup

The plugin uses Android Keystore internally. No additional `AndroidManifest.xml` entries or Gradle config are required beyond the `minSdkVersion` constraint.

Ensure your `android/app/build.gradle` (or `build.gradle.kts`) has:

```groovy android/app/build.gradle theme={null}
android {
    defaultConfig {
        minSdkVersion 24
    }
}
```

***

## iOS setup

The plugin uses the iOS Secure Enclave. No additional entitlements or `Info.plist` keys are required.

Ensure the deployment target in `ios/Podfile` is at least `13.0`:

```ruby ios/Podfile theme={null}
platform :ios, '13.0'
```

***

## Initialise

Call `BmoniEmbeddedSdk.initialize` once before `runApp`. The call is idempotent — calling it again updates the active configuration.

```dart main.dart theme={null}
import 'package:bmoni_embedded_sdk/bmoni_embedded_sdk.dart';
import 'package:flutter/material.dart';

void main() {
  BmoniEmbeddedSdk.initialize(pinLength: 6, requirePin: true);
  runApp(const MyApp());
}
```

You're ready. See [configuration](/sdk/configuration) for all available options, or jump straight to [wallet provisioning](/sdk/wallet-provisioning).
