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 · React Native

Each language guide covers its API surface, transport authentication, SLIMRPC, examples, and platform support. See Installation for package names, requirements, and install commands side by side.

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