> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trusset.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Trusset SDK

> TypeScript SDK for integrating Trusset tokenization infrastructure into your backend

The Trusset SDK is a typed client library for the Trusset REST API. It handles authentication, retries, input validation, and error mapping so your integration code stays minimal and reliable.

The SDK is structured by product module. Each module maps directly to a group of [API endpoints](/endpoints/introduction) and exposes the same operations with full type safety and client-side validation before any request hits the wire.

| Module         | Status    | Description                                                                                                     |
| -------------- | --------- | --------------------------------------------------------------------------------------------------------------- |
| `customers`    | Available | Customer management, on-chain identity verification and claims, KYC links, verification profiles, database sync |
| `tokenization` | Planned   | Token deployment, issuance, redemption, management                                                              |
| `trading`      | Planned   | Order book creation, order submission, settlement                                                               |
| `lending`      | Planned   | Market deployment, liquidity, borrowing, liquidations                                                           |

## Design principles

**Zero dependencies.** The SDK uses native `fetch` and ships no runtime dependencies. It works in Node.js 18+ and any runtime with a standard `fetch` implementation.

**KYC data stays with you.** KYC hashing happens in the separate [trusset-kyc-zk-proofs](https://github.com/Trusset/trusset-kyc-zk-proofs) tool you run locally. Only the resulting root hash and proof manifest ever reach Trusset - see [KYC proofs](/sdk/customers/kyc-proofs).

**Fail early.** Inputs are validated before requests are sent. Invalid addresses, missing fields, malformed hashes, and out-of-range values throw a `ValidationError` immediately rather than producing a 400 from the server.

**Safe retries.** Read requests retry transient failures (5xx, 408, 429, network errors) with exponential backoff. Write requests are never blindly retried - identity writes execute on-chain transactions, and repeating an ambiguous failure could submit a transaction twice. Writes retry only on 429.

**Instance-scoped.** Each `TrussetClient` is bound to one API key, which is scoped to one [instance](/protocol/infrastructure/instances). If you operate multiple instances, create one client per instance.

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/sdk/installation">
    Install the SDK and initialize a client
  </Card>

  <Card title="KYC Proofs" icon="fingerprint" href="/sdk/customers/kyc-proofs">
    From local zk-STARK proofs to a verified customer
  </Card>

  <Card title="Customers" icon="users" href="/sdk/customers/overview">
    Customer management, verification, and database sync
  </Card>

  <Card title="Error Handling" icon="triangle-exclamation" href="/sdk/customers/errors">
    Error types, codes, and retry behavior
  </Card>
</CardGroup>
