Skip to content

SLIM SDK

The SLIM SDK provides language-native bindings for building applications that communicate over SLIM. The bindings are generated from the Rust core using UniFFI, giving every language identical behaviour with idiomatic APIs.

Each binding bundles two components:

  • Data Plane Client — connects your application to a SLIM routing node, handles name registration, and routes outgoing messages.
  • Session Layer — provides end-to-end encryption (MLS), reliable delivery, and session management on top of the data plane client.

Supported Languages

Python, Go, .NET, Java, Kotlin, Node.js, and React Native.

See Installation for per-language package names, requirements, and install commands.

How It Fits Into SLIM

The following diagram shows where the SDK sits in a SLIM deployment:

graph LR
    app["Your Application"]

    subgraph sdk["SLIM SDK / Language Bindings"]
        session["Session Layer\n(MLS encryption, reliable delivery, group management)"]
        client["Data Plane Client"]
        session --> client
    end

    node["SLIM Data Plane"]
    network["SLIM Network"]

    app --> session
    client --> node
    node --> network

    style sdk fill:transparent,stroke:#888,stroke-width:2px,stroke-dasharray:4 4
    style session fill:#4a90e2,stroke:#2e5c8a,stroke-width:2px,color:#fff
    style client fill:#f39c12,stroke:#d68910,stroke-width:2px,color:#fff
    style node fill:#f39c12,stroke:#d68910,stroke-width:2px,color:#fff

Applications never connect to each other directly. They connect to a nearby SLIM routing node and let the SLIM network deliver messages to named endpoints. The SDK handles all the plumbing — TLS connections, name registration, session establishment, and message encryption — so your application logic stays clean.

SDK Tutorials

Work through the tutorials to learn the fundamentals step by step:

  1. Connecting to SLIM — Configure and connect your application to a SLIM node
  2. Creating an App — Register an application identity and set up message handlers
  3. Creating a Session — Establish point-to-point and group sessions
  • Installation — Install the SDK for your language
  • Architecture — Understand the full SLIM architecture
  • Sessions — Deep dive into session types and the session lifecycle