# 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 available.

## Verify

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

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

## Next

  - **[Quickstart](/sdks/rust/quickstart)** — Follow the streams modality end to end.
  - **[Reference](/sdks/rust/reference)** — See every modality and every method.
  - **[Examples](/sdks/rust/examples)** — See examples for each modality.
  - **[Modalities](/modalities/overview)** — Learn the 5-modality model.
