anya-core 1.2.0

Enterprise-grade Bitcoin Infrastructure Platform
Documentation
---
title: "Sdk"
description: "Documentation for Sdk"
---

[AIR-3][AIS-3][BPC-3][RES-3]


# Mobile SDK

## Overview

Add a brief overview of this document here.


This document provides information about the Anya Core Mobile SDK for iOS and Android platforms.

## Table of Contents
- [Installation]#installation
- [Getting Started]#getting-started
- [API Reference]#api-reference
- [Examples]#examples
- [Troubleshooting]#troubleshooting

## Installation

### Android
Add to your app's `build.gradle`:

```gradle
dependencies {
    implementation 'org.anya:core-mobile:1.0.0'
}
```

### iOS
Add to your `Podfile`:

```ruby
target 'YourApp' do
  pod 'AnyaCore', '~> 1.0.0'
end
```

## Getting Started

### Initialize the SDK

#### Android (Kotlin)
```kotlin
import org.anya.core.AnyaSDK

class MainApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        AnyaSDK.initialize(context = this, config = Config(environment = Environment.PRODUCTION))
    }
}
```

#### iOS (Swift)
```swift
import AnyaCore

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, 
                   didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        let config = Config(environment: .production)
        AnyaSDK.initialize(config: config)
        return true
    }
}
```

## API Reference

### Core Features

#### Wallet Management
- `createWallet()`: Create a new wallet
- `importWallet(mnemonic: String)`: Import existing wallet
- `getBalance()`: Get wallet balance

#### Transactions
- `sendPayment(amount: Long, address: String)`: Send payment
- `getTransactionHistory()`: Fetch transaction history
- `estimateFee()`: Estimate transaction fee

#### Security
- `enableBiometricAuth()`: Enable biometric authentication
- `backupWallet()`: Backup wallet to secure location
- `wipeWallet()`: Securely wipe wallet data

## Examples

### Creating a Wallet

```kotlin
// Android
val wallet = AnyaSDK.walletManager.createWallet()
val mnemonic = wallet.mnemonic
val address = wallet.address
```

```swift
// iOS
let wallet = try AnyaSDK.walletManager.createWallet()
let mnemonic = wallet.mnemonic
let address = wallet.address
```

### Sending a Transaction

```kotlin
// Android
val result = AnyaSDK.transactionManager.sendPayment(
    amount = 100000, // in satoshis
    address = "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq"
)
```

```swift
// iOS
do {
    let result = try AnyaSDK.transactionManager.sendPayment(
        amount: 100000, // in satoshis
        address: "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq"
    )
} catch {
    print("Error: \(error)")
}
```

## Troubleshooting

### Common Issues

#### Android Build Errors
```
> Could not resolve org.anya:core-mobile:1.0.0
```

**Solution**: Ensure you have added the repository to your project's `build.gradle`:

```gradle
allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://repo.anya.org/maven' }
    }
}
```

#### iOS Linker Errors
```
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_AnyaSDK", referenced from:
      objc-class-ref in AppDelegate.o
```

**Solution**:
1. Clean build folder (Cmd + Shift + K)
2. Build the project again
3. If issue persists, run `pod install --repo-update`

### Logging

Enable debug logging:

```kotlin
// Android
AnyaSDK.setLogLevel(LogLevel.DEBUG)
```

```swift
// iOS
AnyaSDK.setLogLevel(.debug)
```

## Support

For additional help, please contact:
- Email: support@anya.org
- GitHub Issues: [https://github.com/anya-org/anya-core/issues]https://github.com/anya-org/anya-core/issues

## Rust Implementation Status & Roadmap

> **Note:** The Anya Core Mobile SDK is currently implemented as a Rust backend module (`src/mobile/sdk.rs`) with async methods for wallet, transaction, and security operations. The Rust code is a minimal, compilable template and does not yet expose a direct FFI/mobile bridge for Android/iOS. Some features described below are planned but not yet implemented in Rust.

### Current Rust API (as of June 2025)
- Wallet management: initialize, sync, send transaction, get wallet info
- Network: get balance, get transactions, create/broadcast transaction
- Security: generate addresses, basic mnemonic validation

### Missing Features (Planned)
- FFI bindings for Android (JNI) and iOS (Swift/ObjC)
- Biometric authentication, backup, and wipe logic
- Fee estimation logic
- Kotlin/Swift wrappers and mobile bridge code

### Roadmap for Full Alignment
1. **FFI Layer:** Implement JNI (Android) and Swift/ObjC (iOS) bindings for all core Rust methods.
2. **Feature Parity:** Add Rust methods for biometric auth, backup, wipe, and fee estimation.
3. **Documentation:** Document mapping between Rust and mobile APIs in this file.
4. **Examples/Tests:** Add FFI usage examples and integration tests.

---

## API Reference (Planned/Target)

### Wallet Management
- `createWallet()`: Planned (Rust: `MobileSDK::initialize_wallet`)
- `importWallet(mnemonic: String)`: Planned (Rust: not yet implemented)
- `getBalance()`: Implemented (Rust: `MobileNetwork::get_balance`)

### Transactions
- `sendPayment(amount: Long, address: String)`: Implemented (Rust: `MobileSDK::send_transaction`)
- `getTransactionHistory()`: Implemented (Rust: `MobileNetwork::get_transactions`)
- `estimateFee()`: Planned (Rust: not yet implemented)

### Security
- `enableBiometricAuth()`: Planned (Rust: not yet implemented)
- `backupWallet()`: Planned (Rust: not yet implemented)
- `wipeWallet()`: Planned (Rust: not yet implemented)

---

## Implementation Notes
- The Rust backend is designed for async, cross-platform operation and can be integrated with mobile via FFI.
- All features listed in the API Reference are either implemented, stubbed, or planned for future releases.
- For up-to-date status, see [src/mobile/sdk.rs]../../src/mobile/sdk.rs and the project [ROADMAP.md]../ROADMAP.md.

---

## Next Steps for Contributors
- Help implement FFI bindings and missing features in Rust.
- Contribute Kotlin/Swift wrappers and integration tests.
- Update this documentation as new features are added.

---

## See Also

- [Rust Mobile SDK Source]../../src/mobile/sdk.rs
- [Project Roadmap]../ROADMAP.md
- [Related Document]#related-document