# Rust Installation

> Add the polyglot SDK as a Cargo dependency.

```toml Cargo.toml
[dependencies]
clutchcall = "0.1"
tokio = { version = "1", features = ["full"] }
```

`libloading` finds `clutchcall_core_ffi` at runtime from `LD_LIBRARY_PATH` or
`CLUTCHCALL_LIB_PATH`.

## Modules

Each modality is its own sub-module:

```rust
use clutchcall::{voice, streams, robotics, games, data, moqt};
```

The legacy `clutchcall::Client` voice-RPC surface is still there.

## Verify

```rust
use clutchcall::moqt::MoqtClient;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = MoqtClient::connect("quic://relay.clutchcall.dev", "").await?;
    println!("rtt: {}µs", client.connection_rtt_us());
    Ok(())
}
```

## Next

  - **[Quickstart](/sdks/rust/quickstart)** — Streams modality end to end.
  - **[Reference](/sdks/rust/reference)** — Every modality, every method.
  - **[Examples](/sdks/rust/examples)** — Per-modality examples.
  - **[Modalities](/modalities/overview)** — The 5-modality model.
