API reference
Use this site for workflows, boundaries, failure behavior, and lifecycle. Use the generated reference for exact signatures and every exported symbol. The generated pages are built from the same source revision as this guide.
Rust
rustdoc for the softchat crate
Kotlin / Android
Dokka for the shared authored Kotlin API
Swift
DocC for SoftchatKit
TypeScript
TypeDoc for @softcose/softchat
Android intentionally shares the Kotlin symbol reference because the AAR exposes the same public declarations. Android-specific threading, packaging, Room, files, lifecycle, and device performance guidance remains a distinct tab throughout the cookbook.
Verified workflowsโ
The repository smoke/package suites compile and execute the authored surfaces, including complex multi-family workflows:
- Rust protocol workflow
- Kotlin workflow
- Android packed-AAR device test
- Swift workflow
- TypeScript/Wasm workflow
The site uses shortened recipes for clarity; these checked-in consumers are the executable evidence that generated internals are not required.
Operation-to-guide matrixโ
| API family | Operations covered | Cookbook |
|---|---|---|
| Identity | import, public key, erase, external signer capabilities and completion | Identity |
| NIP-19 | parse, construct, encode, unknown TLVs | Nostr and cryptography |
| NIP-01 | drafts, raw tags, sign, parse, canonical JSON, verification | Nostr and cryptography |
| NIP-44 | encrypt, decrypt, immutable message validation | Nostr and cryptography |
| NIP-17/59 | rumor, one-to-one message, durable/ephemeral wrap, unwrap | Private messaging |
| Chat | message, subject, reply, forward, reaction, delete, edit, typing, classifiers | Chat and account |
| Account | metadata, follow list, app data, app-data sync, latest projections | Chat and account |
| Relay wire | frames, filters, NIP-42, EVENTS, acknowledgements | Relay and persistence |
| Relay state | connect, authenticate, subscribe, publish, receive, ingestion, reconnect, cancel | Relay and persistence |
| Persistence | ingestion batch, result validation, delivery status | Relay and persistence |
| Noise | NK handshake, transport encrypt/decrypt, chunking, shutdown | Noise and synchronization |
| Negentropy | snapshot items, initiate, reconcile, complete, close | Noise and synchronization |
| Attachments | metadata, whole-buffer compatibility, streaming transform | Media and HTTP |
| NIP-98 | exact request plan and redirect policy | Media and HTTP |
| Diagnostics | stable errors, version, fingerprint, redacted counters | Errors and diagnostics |
Performance reportsโ
Contextual cards appear only beside operations present in the accepted benchmark corpus. They show median duration, p95 duration, equivalent single-thread calls per second, payload throughput where meaningful, allocations where available, comparison with the frozen old library where available, environment, and confidence.
The standalone audit reports remain Markdown:
- Rust audit
- Kotlin/JVM audit
- Android device audit
- Swift audit
- TypeScript/Wasm audit
- Methodology and interpretation
These are descriptive results for the recorded runner or device. They are not universal latency guarantees.