# 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-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-mysten-labs.vercel.app/codegen.md): Generate type-safe TypeScript bindings from on-chain 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-mysten-labs.vercel.app/dapp-kit.md): Build Sui dApps with framework-agnostic core and React bindings - [@mysten/create-dapp](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/getting-started/create-dapp.md): Create a Sui dApp with one command - [React](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/getting-started/react.md): Set up dApp Kit in a React application - [Next.js](https://sui-typescript-docs-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-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-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-mysten-labs.vercel.app/dapp-kit/state.md): Access and subscribe to wallet connection state in dApp Kit - [Connect Wallet](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/actions/connect-wallet.md): Programmatically connect to a Sui wallet - [Disconnect Wallet](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/actions/disconnect-wallet.md): Programmatically disconnect from a Sui wallet - [Sign and Execute Transaction](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/actions/sign-and-execute-transaction.md): Sign and execute a transaction using the connected wallet - [Sign Personal Message](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/actions/sign-personal-message.md): Sign an arbitrary message with the connected wallet - [Sign Transaction](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/actions/sign-transaction.md): Sign a transaction without executing it - [Switch Account](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/actions/switch-account.md): Switch the active account in the connected wallet - [Switch Network](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/actions/switch-network.md): Switch the active network for the dApp Kit instance - [DAppKitProvider](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/react/dapp-kit-provider.md): React context provider for dApp Kit configuration - [React Hooks](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/react/hooks.md): React hooks for accessing dApp Kit state and actions - [useDAppKit](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/react/hooks/use-dapp-kit.md): React hook to access the full dApp Kit instance - [React Components](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/react/components.md): Pre-built React UI components for wallet interaction - [Connect Button](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/react/components/connect-button.md): React button component for wallet connection - [Connect Modal](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/react/components/connect-modal.md): React modal component for wallet selection - [Connect Button](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/web-components/connect-button.md): Framework-agnostic web component for wallet connection - [Connect Modal](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/web-components/connect-modal.md): Framework-agnostic web component for wallet selection - [Theming](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/theming.md): Customize the appearance of dApp Kit UI components - [Sui dApp Kit (Legacy)](https://sui-typescript-docs-mysten-labs.vercel.app/dapp-kit/legacy.md): dApp Kit API reference for @mysten/dapp-kit ## Kiosk > Interact with on-chain commerce applications - [Kiosk SDK](https://sui-typescript-docs-mysten-labs.vercel.app/kiosk.md): TypeScript SDK for interacting with Sui Kiosk on-chain commerce - [Kiosk Client](https://sui-typescript-docs-mysten-labs.vercel.app/kiosk/kiosk-client/introduction.md): Introduction to the KioskClient for querying and managing kiosks - [Querying](https://sui-typescript-docs-mysten-labs.vercel.app/kiosk/kiosk-client/querying.md): Query kiosk contents, items, and transfer policies - [Advanced Examples](https://sui-typescript-docs-mysten-labs.vercel.app/kiosk/advanced-examples.md): Advanced Kiosk SDK usage patterns and examples - [Migrating from Kiosk SDK V1](https://sui-typescript-docs-mysten-labs.vercel.app/kiosk/from-v1.md): Migrate from Kiosk SDK v1 to the current version ## Payment Kit > Accept payments in any coin type on Sui - [Payment Kit](https://sui-typescript-docs-mysten-labs.vercel.app/payment-kit.md): Accept payments in any coin type on Sui - [Getting Started](https://sui-typescript-docs-mysten-labs.vercel.app/payment-kit/getting-started.md): Install and set up Payment Kit for your Sui dApp - [Payment Kit SDK](https://sui-typescript-docs-mysten-labs.vercel.app/payment-kit/payment-kit-sdk.md): Payment Kit SDK API reference and configuration - [Payment Processing](https://sui-typescript-docs-mysten-labs.vercel.app/payment-kit/payment-processing.md): Process payments and handle transaction results - [Registry Management](https://sui-typescript-docs-mysten-labs.vercel.app/payment-kit/registry-management.md): Manage payment registries and accepted coin types ## 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-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-mysten-labs.vercel.app/slush-wallet.md): Integrate Slush Wallet into your Sui dApp - [dApp Integration](https://sui-typescript-docs-mysten-labs.vercel.app/slush-wallet/dapp.md): Connect your dApp to Slush Wallet - [Deep Linking](https://sui-typescript-docs-mysten-labs.vercel.app/slush-wallet/deep-linking.md): Deep linking configuration for Slush Wallet ## Sui SDK > TypeScript interfaces for Sui - [Sui TypeScript SDK Quick Start](https://sui-typescript-docs-mysten-labs.vercel.app/sui.md): TypeScript SDK for building on the Sui blockchain - [Install Sui TypeScript SDK](https://sui-typescript-docs-mysten-labs.vercel.app/sui/install.md): Install the @mysten/sui package and configure your project - [LLM Documentation](https://sui-typescript-docs-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-mysten-labs.vercel.app/sui/hello-sui.md): Build your first Sui application with the TypeScript SDK - [Faucet](https://sui-typescript-docs-mysten-labs.vercel.app/sui/faucet.md): Request test SUI tokens from the faucet - [Sui Clients](https://sui-typescript-docs-mysten-labs.vercel.app/sui/clients.md): Choose and configure gRPC, GraphQL, or JSON-RPC clients - [Core API](https://sui-typescript-docs-mysten-labs.vercel.app/sui/clients/core.md): Transport-agnostic Core API shared by all Sui clients - [SuiGrpcClient](https://sui-typescript-docs-mysten-labs.vercel.app/sui/clients/grpc.md): Connect to Sui via gRPC with SuiGrpcClient - [SuiGraphQLClient](https://sui-typescript-docs-mysten-labs.vercel.app/sui/clients/graphql.md): Connect to Sui via GraphQL with SuiGraphQLClient - [SuiJsonRpcClient](https://sui-typescript-docs-mysten-labs.vercel.app/sui/clients/json-rpc.md): Connect to Sui via JSON-RPC with SuiJsonRpcClient - [Sui Programmable Transaction Basics](https://sui-typescript-docs-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-mysten-labs.vercel.app/sui/transaction-building/gas.md): Configure gas budget, price, and coin selection for transactions - [Transaction Intents](https://sui-typescript-docs-mysten-labs.vercel.app/sui/transaction-building/intents.md): Use high-level intents to simplify transaction building - [Building Offline](https://sui-typescript-docs-mysten-labs.vercel.app/sui/transaction-building/offline.md): Build transactions without a network connection - [Sponsored Transactions](https://sui-typescript-docs-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-mysten-labs.vercel.app/sui/cryptography/keypairs.md): Create and manage Ed25519, Secp256k1, and Secp256r1 keypairs - [Multi-Signature Transactions](https://sui-typescript-docs-mysten-labs.vercel.app/sui/cryptography/multisig.md): Create multi-signature transactions with multiple signers - [Passkey](https://sui-typescript-docs-mysten-labs.vercel.app/sui/cryptography/passkey.md): Use WebAuthn passkeys for Sui transaction signing - [Web Crypto Signer](https://sui-typescript-docs-mysten-labs.vercel.app/sui/cryptography/webcrypto-signer.md): Sign transactions using the Web Crypto API - [The `@mysten/sui/utils` package](https://sui-typescript-docs-mysten-labs.vercel.app/sui/utils.md): Utility functions for addresses, coins, and common operations - [Derived Objects](https://sui-typescript-docs-mysten-labs.vercel.app/sui/utils/derived_objects.md): Compute derived object IDs from parent objects - [BCS](https://sui-typescript-docs-mysten-labs.vercel.app/sui/bcs.md): Binary Canonical Serialization for encoding Sui Move types - [ZkLogin](https://sui-typescript-docs-mysten-labs.vercel.app/sui/zklogin.md): Zero-knowledge authentication with OAuth providers on Sui - [Transaction Executors](https://sui-typescript-docs-mysten-labs.vercel.app/sui/executors.md): Manage transaction execution with queuing and parallel strategies - [Transaction Plugins](https://sui-typescript-docs-mysten-labs.vercel.app/sui/plugins.md): Extend transaction building with reusable plugins - [Building SDKs](https://sui-typescript-docs-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-mysten-labs.vercel.app/sui/migrations/sui-2.0.md): Migration guide for Sui TypeScript SDK 2.0 - [Agent Migration Prompt](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/agent-prompt.md): AI agent prompt for automated SDK 2.0 migration - [@mysten/sui](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/sui.md): Migrate @mysten/sui from 1.x to 2.0 - [Migrating from JSON-RPC](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/json-rpc-migration.md): Migrate from JSON-RPC to the new Core API - [@mysten/dapp-kit](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/dapp-kit.md): Migrate @mysten/dapp-kit to 2.0 - [@mysten/kiosk](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/kiosk.md): Migrate @mysten/kiosk to 2.0 - [@mysten/zksend](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/zksend.md): Migrate @mysten/zksend to 2.0 - [@mysten/suins](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/suins.md): Migrate @mysten/suins to 2.0 - [@mysten/deepbook-v3](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/deepbook-v3.md): Migrate @mysten/deepbook-v3 to 2.0 - [@mysten/walrus](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/walrus.md): Migrate @mysten/walrus to 2.0 - [@mysten/seal](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/seal.md): Migrate @mysten/seal to 2.0 - [Wallet Builders](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/wallet-builders.md): Migration guide for wallet extension developers - [SDK Maintainers](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-2.0/sdk-maintainers.md): Migration guide for SDK maintainers and library authors - [Migrate to 1.0](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/sui-1.0.md): Migrate to Sui TypeScript SDK 1.0 - [Migrate to 0.38.0](https://sui-typescript-docs-mysten-labs.vercel.app/sui/migrations/0.38.md): Migrate from SDK version 0.37 to 0.38 ## Walrus > Publish and Read blobs directly from walrus storage nodes - [Walrus SDK](https://sui-typescript-docs-mysten-labs.vercel.app/walrus.md): Store and retrieve blobs on Walrus decentralized storage ## ZkSend > Send Sui with a link - [zkSend SDK](https://sui-typescript-docs-mysten-labs.vercel.app/zksend.md): Send Sui assets via shareable links with zkSend - [Creating zkSend Links](https://sui-typescript-docs-mysten-labs.vercel.app/zksend/link-builder.md): Create and customize zkSend claim links