Inopay Kotlin SDK — African capital markets infrastructure (BRVM, BVMAC, GSE)
# inopay-android
Kotlin SDK — client for the Inopay African capital markets infrastructure (BRVM, BVMAC, GSE) via the public sandbox.
## Status
`v0.1.0-alpha.2` — public alpha. Wraps `
api.getinopay.com`. Maven Central publication coming next.
## Install
### Gradle (KTS)
In your top-level `settings.gradle.kts` or `build.gradle.kts`, add JitPack as a repository:
```kotlin
repositories {
mavenCentral()
maven("
jitpack.io")
}
```
Then in your module's `build.gradle.kts`:
```kotlin
dependencies {
implementation("com.github.fofanay:inopay-android:v0.1.0-alpha.2")
}
```
### Gradle (Groovy)
```gradle
repositories {
mavenCentral()
maven { url '
jitpack.io' }
}
dependencies {
implementation 'com.github.fofanay:inopay-android:v0.1.0-alpha.2'
}
```
## Quick start
```kotlin
import com.inopay.InopayClient
import com.inopay.CreateOrderInput
import com.inopay.OrderSide
import kotlinx.coroutines.runBlocking
val inopay = InopayClient(apiKey = "sk_test_demo_inopay_2026") // public demo key
runBlocking {
// List instruments
val list = inopay.listInstruments()
list.instruments.take(3).forEach {
println("${it.symbol}: ${it.last_price} ${it.currency}")
}
// Place a simulated order
val order = inopay.createOrder(CreateOrderInput(
symbol = "SNTS.BRVM",
side = OrderSide.buy,
qty = 10,
))
println("Order ${order.order.id} status: ${order.order.status}")
// Fetch a mock KYC attestation
val kyc = inopay.fetchKyc("usr_demo_42")
println("Attestation issued at ${kyc.attestation.issued_at}")
}
```
## API surface
| Method | Description |
|---|---|
| `health()` | Sandbox status |
| `listInstruments()` | List BRVM / BVMAC / GSE instruments |
| `listSGIs()` | List partner SGIs |
| `createOrder(input)` | Place a simulated order |
| `getOrder(id)` | Read back an order |
| `fetchKyc(userId)` | Mock Ed25519-signed KYC attestation |
| `resetSandbox()` | Reset the demo wallet |
## Rate limit
Public demo key `sk_test_demo_inopay_2026` is rate-limited …