# Integration Guides

This section provides guidelines and specifications for integrating any software development kit (SDK) with **Inji Wallet**. It also contains references to available SDKs and tools that developers, system integrators, relying parties, and end users may find useful.

### SDK Integration Specifications

To ensure seamless integration with **Inji Wallet**, SDKs must follow these requirements:

* **Availability**
  * The SDK should be published as an **npm module** for integration with React Native applications.
  * For **Android**, integration must be supported via a **Maven dependency**.
  * For **iOS**, integration must be supported via **Swift Package Manager (SPM)**. For example, the npm modules [**tuvali**](https://www.npmjs.com/package/@mosip/tuvali) and [**secure-keystore**](https://www.npmjs.com/package/@mosip/secure-keystore) demonstrate suitable implementations.
* **API Design**
  * Provide a simple API surface for easy integration.
  * Must include an **initialization API** (e.g., `init` or a constructor API).
  * Include all necessary functional APIs to perform core actions.
  * Provide a **disconnect API** to safely detach the SDK when needed.
  * Preferably design APIs to be **asynchronous**, allowing users to continue app usage without UI blocking.
* **Traceability & Logging**
  * APIs may optionally accept a parameter such as `traceabilityId` to enhance logging and request traceability.

### **Build Your Own Wallet with Inji Libraries**

Use Inji’s modular SDKs and libraries to assemble a wallet tailored to your needs. Each library provides specific capabilities that can be integrated into your application.

Build your own wallet using Inji libraries – click [here](/inji-wallet/inji-mobile/technical-overview/integration-guide/building-verifiable-credentials-wallet-with-inji-libraries.md)!

**List of Libraries and SDKs**

* [**VCI Client Library**](/inji-wallet/inji-mobile/technical-overview/architecture.md) – Issue and download Verifiable Credentials (VCs).
* [**PixelPass Library**](/inji-wallet/inji-mobile/technical-overview/architecture.md) – Compress, encode, and decode JSON for QR codes.
* [**OpenID4VP Library**](/inji-wallet/inji-mobile/technical-overview/architecture.md) – Enable credential sharing through OpenID4VP protocols.
* [**BLE Verifier Library** ](/inji-wallet/inji-mobile/technical-overview/architecture.md)– Verify VCs received over Bluetooth.
* [**Tuvali Library** ](/inji-wallet/inji-mobile/technical-overview/architecture.md)**(BLE Sharing)** – Share credentials offline via Bluetooth Low Energy.
* [**Secure Keystore Library** ](/inji-wallet/inji-mobile/technical-overview/architecture.md)– Manage secure storage of keys and sensitive data.
* [**Face Match SDK** ](/inji-wallet/inji-mobile/technical-overview/architecture.md)– Add biometric face matching for enhanced verification.
* [**Telemetry**](/inji-wallet/inji-mobile/technical-overview/architecture.md) – (Details coming soon!) for monitoring and analytics.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.inji.io/inji-wallet/inji-mobile/technical-overview/integration-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
