ClutchCall is modality-oriented: pick the modality that matches what you’re building — voice, streams, robotics, games, or data — and import its sub-client. They all ride the same MoQT relay mesh underneath. This page walks a worked example in TypeScript. Each per-language quickstart shows the same pattern in that SDK’s idiom.

1. Install

npm
npm install @clutchcall/sdk
The package ships the WASM core; no separate native install in the browser. Native Node / Python / Go / Rust / Java / .NET also load clutchcall_core_ffi.{so,dylib,dll} — see each per-language installation page.

2. Get a token

Every modality authenticates with a tenant token the relay verifies through its namespace-auth hook. The control-plane API key (tRPC, CLUTCHCALL_CREDENTIALS) mints data-plane tokens scoped to the namespaces that client needs.
export CLUTCHCALL_API_KEY=...           # server-side control-plane API key
export CLUTCHCALL_RELAY_TOKEN=...       # data-plane tenant token
See Authentication for the full key model (API key → relay token mint → namespace-scoped JWT).

3. Pick a modality

import { Voice } from "@clutchcall/sdk/voice";

const v    = new Voice({ baseUrl: "https://app.clutchcall.dev",
                         apiKey:  process.env.CLUTCHCALL_API_KEY!,
                         orgId:   "org_abc" });
const call = await v.calls.originate({
  to: "+15551234567", from: "+15558675309",
  trunkId: "trunk_main", agent: "healthcare-assistant",
});
console.log("call sid:", call.sid);

What just happened

  1. The SDK opened a QUIC link to relay.clutchcall.dev:443 over MoQT, or WebTransport in the browser. The tenant token authorized the session.
  2. For control-plane modality methods (v.calls.originate, streams.liveInputs.create, etc.), the SDK hit tRPC procedures on the the control-plane API over HTTP/3.
  3. For data-plane methods (subscribeState, publishInput, etc.), the SDK opened MoQT publish / subscribe requests that the relay fans out to every matching subscriber.
The same connection survives reconnects — see Realtime Tracks for the auto-reconnect model.

Next steps

Modalities overview

The 5-modality model and when to pick each.

Architecture

The MoQT relay mesh, the C++ core, and how the modality layer fits.

Authentication

API keys, relay tokens, namespace-auth, and JWT signing.

SDK Reference

Every modality, every method, every language.