open-index/open-npm huggingface dataset:
npm package: @mysten/create-dapp
Description: A CLI for creating new Sui dApps
Author: Mysten Labs
Latest version: 0.6.4

# @mysten/create-dapp

`@mysten/create-dapp` is a CLI tool that helps you to create a new dApp project.

You can get started quickly by running the following command:

```bash
pnpm create @mysten/dapp
```

This will prompt you through creating a new dApp project. It will ask you for the name/directory and
ask you to select from one of the provided templates.

## Templates

The following templates are available:

- `react-client-dapp`: A basic React dApp that fetches a list of objects owned by the connected
  wallet
- `react-e2e-counter`: An end to end Example with move code and UI for a simple counter app

The examples are based off the Vite TypeScript starter project, and pre-configure a few things for
you including:

- [React](https://react.dev/)
- [TypeScript](https://www.typescriptlang.org/)
- [Vite](https://vitejs.dev/)
- [Radix UI](https://www.radix-ui.com/)
- [`@mysten/dapp-kit`](https://sdk.mystenlabs.com/dapp-kit)

These templates are still new, and would love to get feedback and suggestions for improvements or
future templates. Please open an issue on GitHub if you have any feedback.
npm package: @mysten/dapp-kit-core
Description: Framework-agnostic toolkit for building decentralized applications on Sui.
Author: Mysten Labs
Latest version: 1.3.0

# dapp-kit-core

A framework-agnostic toolkit for building decentralized applications on [Sui](https://sui.io).

`@mysten/dapp-kit-core` provides an action-based API for wallet operations, automatic state
management via [nanostores](https://github.com/nanostores/nanostores), and built-in
[Web Components](https://developer.mozilla.org/en-US/docs/Web/API/Web_components) for wallet
connection UI. It can be used standalone with vanilla JavaScript, or as the foundation for
framework-specific bindings like
[`@mysten/dapp-kit-react`](https://www.npmjs.com/package/@mysten/dapp-kit-react).

## Installation

```sh
npm i @mysten/dapp-kit-core @mysten/sui
```

## Documentation

See the [dApp Kit docs](https://sdk.mystenlabs.com/sui/dapp-kit) for full usage instructions,
guides, and API reference.
npm package: @mysten/dapp-kit-react
Description: React bindings for @mysten/dapp-kit-core
Author: Mysten Labs
Latest version: 2.0.1

# dapp-kit-react

React hooks and components for building decentralized applications on the [Sui](https://sui.io)
blockchain. Built on top of
[`@mysten/dapp-kit-core`](https://www.npmjs.com/package/@mysten/dapp-kit-core).

Provides a `DAppKitProvider`, ready-to-use `ConnectButton` and `ConnectModal` components, and hooks
like `useDAppKit`, `useCurrentAccount`, `useCurrentWallet`, and more.

## Installation

```sh
npm i @mysten/dapp-kit-react @mysten/sui
```

## Documentation

See the [dApp Kit docs](https://sdk.mystenlabs.com/sui/dapp-kit) for full usage instructions,
guides, and API reference.
npm package: @mysten/docs
Description: LLM-friendly documentation for the Sui TypeScript SDK ecosystem
Latest version: 0.1.17

# docs

This is a Next.js application generated with
[Create Fumadocs](https://github.com/fuma-nama/fumadocs).

Run development server:

```bash
npm run dev
# or
pnpm dev
# or
yarn dev
```

Open http://localhost:3000 with your browser to see the result.

## Learn More

To learn more about Next.js and Fumadocs, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
- [Fumadocs](https://fumadocs.vercel.app) - learn about Fumadocs
npm package: @mysten/enoki
Description: zkLogin authentication and sponsored transactions
Author: Mysten Labs
Latest version: 1.0.4

# `@mysten/enoki`

zkLogin authentication and sponsored transactions. Enable users to sign in with Google, Twitch,
Facebook, and other OAuth providers, and execute transactions without gas fees.

## Features

- **zkLogin**: Authenticate users with OAuth providers (Google, Twitch, Facebook)
- **Sponsored Transactions**: Execute transactions without requiring users to hold gas
- **Wallet Integration**: Register Enoki wallets with dApp Kit
- **Subname Management**: Create and manage SuiNS subnames

## Installation

```sh
npm install @mysten/enoki
```

## Quick Start

### Register Enoki wallets

```ts
import { registerEnokiWallets } from '@mysten/enoki';

registerEnokiWallets({
	apiKey: 'your-enoki-api-key',
	providers: ['google', 'twitch', 'facebook'],
});
```

### Use with React and dApp Kit

```tsx
import { registerEnokiWallets } from '@mysten/enoki';
import { useEnokiFlow } from '@mysten/enoki/react';

// In your app setup
registerEnokiWallets({
	apiKey: 'your-enoki-api-key',
	providers: ['google'],
});

// In your component
function LoginButton() {
	const { login } = useEnokiFlow();

	return <button onClick={() => login('google')}>Sign in with Google</button>;
}
```

### Low-level client usage

```ts
import { EnokiClient } from '@mysten/enoki';

const client = new EnokiClient({
	apiKey: 'your-enoki-api-key',
});

// Create a sponsored transaction
const sponsored = await client.createSponsoredTransaction({
	network: 'mainnet',
	sender: '0x...',
	transactionKindBytes: '...',
});

// Execute it
await client.executeSponsoredTransaction({
	digest: sponsored.digest,
	signature: '...',
});
```

## Documentation

See the [Enoki documentation](https://docs.enoki.mystenlabs.com) for detailed setup and usage.
npm package: @mysten/enoki-connect
Description: Enoki Connect Wallet-Standard implementation
Author: Mysten Labs
Latest version: 1.0.2

# `@mysten/enoki-connect`

> ⚠️ **Warning**: This package is in active development and should be used with caution. APIs are
> experimental and subject to breaking changes without notice. We recommend thoroughly testing any
> implementation before using in production environments.
npm package: @mysten/kiosk
Description: Sui Kiosk library
Author: Mysten Labs
Latest version: 1.2.1

# Kiosk SDK

This Kiosk SDK library provides different utilities to interact/create/manage a
[Kiosk](https://github.com/MystenLabs/sui/tree/main/kiosk).

[You can read the documentation and see examples by clicking here.](https://sdk.mystenlabs.com/kiosk)

[If you are migrating from `0.6.x`, you can follow these instructions](https://sdk.mystenlabs.com/kiosk/from-v1)
npm package: @mysten/kms
Description: A collection of KMS signers for various cloud providers
Author: Mysten Labs
Latest version: 0.0.10
Deprecated: This package has been renamed to @mysten/signers, please update to use the renamed package.

# Sui KMS Signers

The Sui KMS Signers package provides a set of tools for securely signing transactions using Key
Management Services (KMS) like AWS KMS.

## Table of Contents

- [AWS KMS Signer](#aws-kms-signer)
  - [Usage](#usage)
  - [API](#api)
    - [fromKeyId](#fromkeyid)
      - [Parameters](#parameters)
      - [Examples](#examples)

## AWS KMS Signer

The AWS KMS Signer allows you to leverage AWS's Key Management Service to sign Sui transactions.

### Usage

```typescript
import { AwsKmsSigner } from '@mysten/kms/aws';

const prepareSigner = async () => {
	const { AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_KMS_KEY_ID } = process.env;

	return AwsKmsSigner.fromKeyId(AWS_KMS_KEY_ID, {
		region: AWS_REGION,
		accessKeyId: AWS_ACCESS_KEY_ID,
		secretAccessKey: AWS_SECRET_ACCESS_KEY,
	});
};
```

### API

#### fromKeyId

Create an AWS KMS signer from AWS Key ID and AWS credentials. This method initializes the signer
with the necessary AWS credentials and region information, allowing it to interact with AWS KMS to
perform cryptographic operations.

##### Parameters

- `keyId`
  **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
  The AWS KMS key ID.
- `options`
  **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** An
  object containing AWS credentials and region.
  - `region`
    **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
    The AWS region.
  - `accessKeyId`
    **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
    The AWS access key ID.
  - `secretAccessKey`
    **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
    The AWS secret access key.

##### Examples

```typescript
const signer = await AwsKmsSigner.fromKeyId('your-kms-key-id', {
	region: 'us-west-2',
	accessKeyId: 'your-access-key-id',
	secretAccessKey: 'your-secret-access-key',
});
```

Returns
**[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[AwsKmsSigner](./src/aws/aws-kms-signer.ts)>**
An instance of AwsKmsSigner.

**Notice**: AWS Signer requires Node >=20 due to dependency on `crypto`
npm package: @mysten/memwal
Description: MemWal — Privacy-first AI memory SDK with Ed25519 delegate key auth
Latest version: 0.0.2

# @mysten/memwal

Privacy-first AI memory SDK for storing encrypted memories on Walrus and retrieving them with semantic search.

> MemWal is currently in beta and actively evolving. While fully usable today, we continue to refine the developer experience and operational guidance. We welcome feedback from early builders as we continue to improve the product.

## Documentation

For full documentation, visit [docs.memwal.ai](https://docs.memwal.ai).

## Install

```bash
pnpm add @mysten/memwal
```

Peer dependencies (install as needed):

```bash
pnpm add @mysten/sui @mysten/seal @mysten/walrus ai zod
```

## Quick Start

```ts
import { MemWal } from "@mysten/memwal";

const memwal = MemWal.create({
  key: "your-delegate-key-hex",
  accountId: "your-memwal-account-id",
  serverUrl: "https://your-relayer-url.com",
  namespace: "demo",
});

await memwal.remember("User prefers dark mode and uses TypeScript.");
const memories = await memwal.recall("What are the user's preferences?");
await memwal.restore("demo");
```

If you are self-hosting the relayer and do not have an account ID yet, see [Self-Hosting](../../docs/relayer/self-hosting.md) for the account creation and delegate key setup flow.

## Exports

| Entry | Description |
|---|---|
| `@mysten/memwal` | Default client (`MemWal`). The relayer handles embedding, encryption, Walrus upload/download, retrieval, and restore. |
| `@mysten/memwal/manual` | Manual client flow (`MemWalManual`). You handle embedding calls and local SEAL operations. The relayer still handles upload relay, registration, search, and restore. |
| `@mysten/memwal/ai` | Vercel AI SDK integration - wraps `MemWal` as middleware for use with `streamText`, `generateText`, etc. |

## How It Works

1. **Scope** - Each memory operation runs inside an `owner + namespace` boundary
2. **Store** - The relayer embeds, encrypts, uploads to Walrus, and stores vector metadata in PostgreSQL
3. **Recall** - The relayer searches by owner plus namespace, resolves matching blobs, and returns plaintext results
4. **Restore** - The relayer can incrementally rebuild missing indexed entries for one namespace

## License

Apache 2.0 — see [LICENSE](../../LICENSE)
npm package: @mysten/messaging
Description: Messaging SDK (Alpha - Experimental)
Author: Mysten Labs
Latest version: 0.3.0

# @mysten/messaging

## Documentation

For installation instructions, examples, and full documentation, please visit:

**[📚 Complete Documentation →](https://github.com/MystenLabs/sui-stack-messaging-sdk#readme)**

---

**Note:** This is an experimental alpha release.
npm package: @mysten/move-debug-trace-adapter
Description: A Debug Adapter Protocol implementation for visualizing both Move function call and external event traces
Author: Mysten Labs
Latest version: 0.1.0

# Move Debug Trace Adapter

Implements [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol) (DAP) to support debugging of both Move function call traces and external event traces. It is a self-contained package in that rather than providing just the adapter that needs to connect to an actual debugger, it implements both the "adapter" part (responsible for communicating with an IDE that can understand DAP) and the "debugger" part (responsible for analyzing traces and providing a runtime to maintain the debugger state).

# Features

The feature set currently includes:
- forward "step" action: step to next expression and into a regular Move function call
- "step out" action: step out of the current function call into the outer one
- "next" action: step over a function call (instead of stepping into it)
- line breakpoints
- "continue" action - continue execution to the next breakpoint or to the end of the trace
- local variable value inspection
- source- and disassembly-level debugging of Move code (provides that Move sources and disassembled Move bytecode files are provided)
npm package: @mysten/mvr-static
Description: The static generation tool for Move Registry (mvr)
Author: Mysten Labs
Latest version: 0.3.1

# mvr-static

The mvr-static tool is a typescript CLI tool to generate a static file for Move Registry (mvr)
resolution. This can be used to cache all MVR names for performance & security reasons, and used
with the Sui client's built-in MVR support.

## Usage

### Generate a static file for MVR resolution

You can generate your static file by running the following command:

```bash
pnpm dlx @mysten/mvr-static
```

Available options:

- `--directory <directory>`: The directory to run the command in (defaults to `.`)
- `--output <file-name>`: The output's file name (defaults to `mvr.ts`)
- `--depth <depth>`: The depth of recursive search for MVR names (defaults to `10`)
- `--url-mainnet <url>`: The URL to the mainnet MVR (defaults to
  `https://mainnet.mvr.mystenlabs.com`)
- `--url-testnet <url>`: The URL to the testnet MVR (defaults to
  `https://testnet.mvr.mystenlabs.com`)
- `--include <dir_patterns>`: The directory patterns to include in the search (defaults to
  `**/*.{js,ts,jsx,tsx,mjs,cjs}`)
- `--exclude <dir_patterns>`: The directory patterns to exclude in the search (defaults to
  `'node_modules/**', '**/.*'`)
- `--force`: Force overwrite the existing MVR file (useful in CI) (defaults to `false`)

### Use the static file in your project

Once you have your static file, you can use it in your project by importing it and passing it to the
Sui client initialization. MVR resolution is now built into the core client.

```ts
import { SuiGrpcClient } from '@mysten/sui/grpc';
import { getMvrCache } from './mvr.ts';

// Create a gRPC client with MVR overrides for your network
const client = new SuiGrpcClient({
	network: 'mainnet',
	baseUrl: 'https://fullnode.mainnet.sui.io:443',
	mvr: {
		overrides: getMvrCache('mainnet'),
	},
});
```

The client will now use your pre-resolved MVR names instead of making API calls, which improves
performance and security.
npm package: @mysten/suins
Description: SuiNS SDK
Author: Mysten Labs
Latest version: 1.0.4

# SuiNS SDK

> Note 1: You do not need to use the SDK for name resolution (name -> address, address -> name).
> That is already covered by JSONRPC & GraphQL.

SuiNS SDK is a convenient wrapper for querying more detailed information and building transactions
towards the Name Service.

You can find our docs [by clicking here](https://docs.suins.io).
npm package: @mysten/wallet-standard
Description: A suite of standard utilities for implementing wallets based on the Wallet Standard.
Author: Mysten Labs
Latest version: 0.20.1

# `@mysten/wallet-standard`

A suite of standard utilities for implementing wallets and libraries based on the
[Wallet Standard](https://github.com/wallet-standard/wallet-standard/).

**Documentation:** https://docs.sui.io/standards/wallet-standard
npm package: @mysten/zklogin
Description: Deprecated: use @mysten/sui/zklogin instead
Author: Mysten Labs
Latest version: 0.8.1
Deprecated: This package has been incorporated into the @mysten/sui package, please update to use @mysten/sui/zklogin.

# `@mysten/zklogin` (Deprecated, use @mysten/sui/zklogin instead)

> **⚠️ This package is experimental and will change rapidly as it is being developed. Do not
> consider these APIs to be stable. If you have any feedback,
> [open an issue](https://github.com/MystenLabs/sui/issues/new/choose) or message us on
> [Discord](https://discord.gg/Sui).**