# Sui TypeScript SDK Documentation > Reference documentation for the @mysten/* TypeScript SDK packages for the Sui blockchain. ## BCS > Encoding and decoding Sui objects - [BCS - Binary Canonical Serialization](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/bcs.md): Encode and decode Sui Move types with Binary Canonical Serialization. ## TypeScript Codegen > Generate type-safe TypeScript code from Sui Move packages - [Sui TypeScript Codegen](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/codegen.md): Generate type-safe TypeScript bindings from onchain Sui Move packages. ## dApp Kit > Build Sui dApps with @mysten/dapp-kit-core and @mysten/dapp-kit-react - [Sui dApp Kit](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit.md): Build Sui apps with framework-agnostic core and React bindings. - [@mysten/create-dapp](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/getting-started/create-dapp.md): Create a Sui app with one command using the create-dapp CLI scaffolding tool. - [React](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/getting-started/react.md): Set up dApp Kit in a React application. - [Next.js](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/getting-started/next-js.md): Set up dApp Kit in a Next.js application. - [Vue](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/getting-started/vue.md): Set up dApp Kit in a Vue application. - [DApp Kit Instance](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/dapp-kit-instance.md): Create and configure a DAppKit instance for wallet and client management - [State](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/state.md): Access and subscribe to wallet connection state in dApp Kit. - [Connect Wallet](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/actions/connect-wallet.md): Programmatically connect to a Sui wallet using the dApp Kit connectWallet action. - [Disconnect Wallet](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/actions/disconnect-wallet.md): Programmatically disconnect from a Sui wallet using the dApp Kit disconnectWallet action. - [Sign and Execute Transaction](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/actions/sign-and-execute-transaction.md): Sign and execute a transaction on the Sui network using the connected wallet. - [Sign Personal Message](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/actions/sign-personal-message.md): Sign an arbitrary message with the connected wallet for authentication or proof of ownership. - [Sign Transaction](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/actions/sign-transaction.md): Sign a Sui transaction without executing it for deferred or multi-signature scenarios. - [Switch Account](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/actions/switch-account.md): Switch the active account in the connected wallet using the dApp Kit switchAccount action. - [Switch Network](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/actions/switch-network.md): Switch the active network for the dApp Kit instance between mainnet, testnet, and other networks. - [DAppKitProvider](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/react/dapp-kit-provider.md): React context provider that makes dApp Kit available throughout your application. - [React Hooks](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/react/hooks.md): React hooks for accessing dApp Kit state and actions in Sui applications. - [useDAppKit](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/react/hooks/use-dapp-kit.md): React hook to access the full dApp Kit instance for calling actions directly. - [React Components](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/react/components.md): Pre-built React UI components for wallet interaction in Sui dApps. - [Connect Button](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/react/components/connect-button.md): React button component for connecting and disconnecting Sui wallets. - [Connect Modal](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/react/components/connect-modal.md): React modal component for selecting and connecting to a Sui wallet. - [Connect Button](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/web-components/connect-button.md): Framework-agnostic web component providing a complete wallet connection UI for Sui dApps. - [Connect Modal](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/web-components/connect-modal.md): Framework-agnostic web component for wallet selection and connection in Sui dApps. - [Theming](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/theming.md): Customize the appearance of dApp Kit UI components. - [Sui dApp Kit (Legacy)](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/dapp-kit/legacy.md): Legacy dApp Kit API reference for the deprecated @mysten/dapp-kit package using JSON RPC. ## Kiosk > Interact with on-chain commerce applications - [Kiosk SDK](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/kiosk.md): TypeScript SDK for interacting with Sui Kiosk onchain commerce. - [Kiosk Client](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/kiosk/kiosk-client/introduction.md): Introduction to the KioskClient extension for querying and managing kiosks on Sui. - [Querying](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/kiosk/kiosk-client/querying.md): Query kiosk contents, owned kiosks, items, and transfer policies using the Kiosk SDK. - [Advanced Examples](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/kiosk/advanced-examples.md): Advanced Kiosk SDK usage patterns and code examples for complex scenarios. - [Migrating from Kiosk SDK V1](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/kiosk/from-v1.md): Migrate from Kiosk SDK v1 to the current version with the builder-pattern API. ## Payment Kit > Accept payments in any coin type on Sui - [Payment Kit](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/payment-kit.md): Accept payments in any coin type on the Sui blockchain with built-in duplicate prevention. - [Getting Started](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/payment-kit/getting-started.md): Install and set up Payment Kit for your Sui application. - [Payment Kit SDK](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/payment-kit/payment-kit-sdk.md): Payment Kit SDK API reference and configuration for the PaymentKitClient. - [Payment Processing](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/payment-kit/payment-processing.md): Process registry-based and ephemeral payments and handle transaction results on Sui. - [Registry Management](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/payment-kit/registry-management.md): Create, configure, and manage payment registries and accepted coin types on Sui. ## Seal > Use Seal, a decentralized secrets management service that secures your data using threshold encryption and on-chain access control. - [Seal SDK](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/seal.md): Decentralized secrets management with threshold encryption on Sui. ## Slush Wallet > Slush Wallet Integration - [Slush Wallet Integration](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/slush-wallet.md): Integrate Slush Wallet into your Sui application for mobile and web wallet support. - [App Integration](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/slush-wallet/dapp.md): Connect your app to Slush Wallet using the Slush Wallet SDK and wallet standard. - [Deep Linking](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/slush-wallet/deep-linking.md): Configure deep links to open Slush Wallet directly to specific screens or actions. ## Sui SDK > TypeScript interfaces for Sui - [Sui TypeScript SDK Quick Start](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui.md): The Sui TypeScript SDK is a modular library of tools for interacting with the Sui blockchain. - [Install Sui TypeScript SDK](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/install.md): Install the @mysten/sui package and configure your project. - [LLM Documentation](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/llm-docs.md): Give AI agents access to Sui SDK documentation in your project. - [Hello Sui](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/hello-sui.md): Build your first Sui application with the TypeScript SDK. - [Faucet](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/faucet.md): Request test SUI tokens from the faucet on Devnet, Testnet, or local networks. - [Sui Clients](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/clients.md): Choose and configure gRPC, GraphQL, or JSON-RPC clients for the Sui network. - [Core API](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/clients/core.md): Transport-agnostic Core API shared by all Sui clients. - [SuiGrpcClient](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/clients/grpc.md): Connect to Sui through gRPC with SuiGrpcClient. - [SuiGraphQLClient](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/clients/graphql.md): Connect to Sui through GraphQL with SuiGraphQLClient. - [SuiJsonRpcClient](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/clients/json-rpc.md): Connect to Sui through JSON-RPC with SuiJsonRpcClient. - [Sui Programmable Transaction Basics](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/transaction-building/basics.md): Construct programmable transaction blocks with the Transaction API. - [Paying for Sui Transactions with Gas Coins](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/transaction-building/gas.md): Configure gas budget, price, and coin selection for Sui transactions. - [Transaction Intents](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/transaction-building/intents.md): Use high-level intents to simplify transaction building. - [Building Offline](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/transaction-building/offline.md): Build transactions without a network connection. - [Sponsored Transactions](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/transaction-building/sponsored-transactions.md): Pay gas fees on behalf of other users with sponsored transactions. - [Key pairs](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/cryptography/keypairs.md): Create and manage Ed25519, Secp256k1, and Secp256r1 keypairs for Sui transaction signing. - [Multi-Signature Transactions](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/cryptography/multisig.md): Create multi-signature transactions with multiple signers on Sui. - [Passkey](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/cryptography/passkey.md): Use WebAuthn passkeys for Sui transaction signing. - [Web Crypto Signer](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/cryptography/webcrypto-signer.md): Sign transactions using the Web Crypto API for secure browser-based key management. - [The `@mysten/sui/utils` package](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/utils.md): Utility functions for addresses, coins, and common operations in the Sui TypeScript SDK. - [Derived Objects](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/utils/derived_objects.md): Compute derived object IDs from parent objects for deterministic offline derivation. - [BCS](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/bcs.md): Binary Canonical Serialization for encoding Sui Move types. - [ZkLogin](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/zklogin.md): Zero-knowledge authentication with OAuth providers on Sui. - [Transaction Executors](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/executors.md): Manage transaction execution with queuing and parallel strategies. - [Transaction Plugins](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/plugins.md): Extend transaction building with reusable plugins. - [Building SDKs](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/sdk-building.md): Build custom SDKs on top of the Sui TypeScript SDK. - [Migrate to 2.0](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0.md): Migration guide for Sui TypeScript SDK 2.0 covering all @mysten packages. - [Agent Migration Prompt](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/agent-prompt.md): AI agent prompt for automated SDK 2.0 migration of your codebase. - [@mysten/sui](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/sui.md): Migrate @mysten/sui from 1.x to 2.0 with new client APIs and BCS changes. - [Migrating from JSON-RPC](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/json-rpc-migration.md): Migrate from JSON-RPC to the new Core API using SuiGrpcClient or SuiGraphQLClient. - [@mysten/dapp-kit](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/dapp-kit.md): Migrate @mysten/dapp-kit to the new dapp-kit-react package in 2.0. - [@mysten/kiosk](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/kiosk.md): Migrate @mysten/kiosk to 2.0 with client extension pattern and KioskTransaction. - [@mysten/zksend](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/zksend.md): Migrate @mysten/zksend to 2.0 with client extension pattern and simplified API. - [@mysten/suins](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/suins.md): Migrate @mysten/suins to 2.0 with client extension pattern. - [@mysten/deepbook-v3](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/deepbook-v3.md): Migrate @mysten/deepbook-v3 to 2.0 with client extension pattern. - [@mysten/walrus](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/walrus.md): Migrate @mysten/walrus to 2.0 with required client parameter and updated API. - [@mysten/seal](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/seal.md): Migrate @mysten/seal to 2.0 with the new registration function pattern. - [Wallet Builders](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/wallet-builders.md): Migration guide for wallet extension developers upgrading to 2.0. - [SDK Maintainers](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-2.0/sdk-maintainers.md): Migration guide for SDK maintainers and library authors upgrading to 2.0. - [Migrate to 1.0](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/sui-1.0.md): Migrate to Sui TypeScript SDK 1.0 with new features and API changes. - [Migrate to 0.38.0](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/sui/migrations/0.38.md): Migrate from SDK version 0.37 to 0.38 with updated module structure and API changes. ## Walrus > Publish and Read blobs directly from walrus storage nodes - [Walrus SDK](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/walrus.md): Store and retrieve blobs on Walrus decentralized storage using the TypeScript SDK. ## ZkSend > Send Sui with a link - [zkSend SDK](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/zksend.md): Send Sui assets through shareable claim links using the zkSend SDK. - [Creating zkSend Links](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/zksend/link-builder.md): Create and customize zkSend claim links for sending Sui assets. - [Composable Claims](https://sui-typescript-docs-eqsr3938i-mysten-labs.vercel.app/zksend/composable-claim.md): Claim a zkSend link and use the assets in the same transaction