Skip to main content

SDK Comparison

This page provides a high-level comparison of the SDKs available for building on Sui. Use it to find the kit that best matches your language, platform, and use case. For links to each SDK and a fuller list of community projects, see Sui and Community SDKs.

Contribute to this page

This comparison currently lists the SDKs maintained by Mysten Labs. If you maintain a Sui SDK and want to add it, contributions are welcome. See Add your SDK for how to submit a row.

Sui SDKs

The following SDKs are developed and maintained by Mysten Labs.

SDKLanguage / platformMaintainerPrimary use caseTransportStatus
TypeScript SDKTypeScript / JavaScriptMysten LabsGeneral-purpose client for building apps, scripts, and servicesgRPC (recommended), GraphQL, JSON-RPC (deprecated, do not use)Stable
dApp KitTypeScript / ReactMysten LabsWeb frontends: wallet connection, hooks, and UI componentsBuilds on TypeScript SDKStable
Rust SDKRustMysten LabsBackend services and high-performance clientsgRPCActive development
zkSend SDKTypeScriptMysten LabsCreating and claiming zkSend links and Stashed functionalityBuilds on TypeScript SDKStable
DeepBookV3 SDKTypeScriptMysten LabsInteracting with the DeepBook onchain order bookBuilds on TypeScript SDKStable

Choosing an SDK

  • Building a web app or wallet integration? Start with the dApp Kit, which builds on the TypeScript SDK and adds React hooks and components for wallet connection.
  • Writing scripts, services, or a Node.js backend in TypeScript? Use the TypeScript SDK directly. Prefer its gRPC client (SuiGrpcClient) for new projects; the JSON-RPC client is deprecated.
  • Building a performance-sensitive backend in Rust? Use the Rust SDK (gRPC).
  • Working with DeepBook or zkSend? Use the purpose-built DeepBookV3 SDK or zkSend SDK, which layer on top of the TypeScript SDK.
  • Need another language (Python, Go, Kotlin, Swift, Dart, Vue)? See the community SDKs on the Sui and Community SDKs page.

Add your SDK

This comparison is intended to grow with the ecosystem. If you maintain a Sui SDK, you can add it to a future "Community SDKs" comparison table by opening a pull request against the Sui repository.

When you submit a row, please include the following so the comparison stays consistent and useful:

ColumnWhat to provide
SDKName of the SDK, linked to its documentation or repository.
Language / platformThe primary language(s) and platform(s) the SDK targets.
MaintainerThe individual or organization that maintains the SDK.
Primary use caseA short phrase describing what the SDK is best suited for.
TransportThe API the SDK uses to communicate with Sui (for example, GraphQL, JSON-RPC, gRPC), or the SDK it builds on.
StatusThe maturity of the SDK (for example, Stable, Active development, Maintenance, Experimental).

For guidance on contributing to Sui documentation, see Contribute to Sui and the Style Guide.

info

Maintenance and community support vary. Research a project's history and support level before committing to using its utilities.