# @usebutr/sui (/api/sui)



## Discovery [#discovery]

### `discoverSuiAdapters(onAdapter): () => void` [#discoversuiadaptersonadapter---void]

Subscribe to Wallet Standard registrations for Sui wallets (Slush, Phantom
Sui, Suiet, Surf, …). Returns an unsubscribe function. Lazily imports
`@wallet-standard/app` (optional peer dependency).

### `suiDiscoverer: PlatformDiscoverer` [#suidiscoverer-platformdiscoverer]

Descriptor used by `@usebutr/wallets`'s `autoDiscovery()` to compose Sui
discovery into a multi-platform source. Wallet Standard only — no fallback.

## Adapter builder [#adapter-builder]

### `buildSuiAdapter(wallet: WalletStandardWallet): WalletAdapter` [#buildsuiadapterwallet-walletstandardwallet-walletadapter]

Wrap a Wallet Standard wallet into a butr `WalletAdapter` with
`chainPlatform: "sui"`.

### `slugify(name: string): string` [#slugifyname-string-string]

Stable id derivation from a wallet name (adapter authoring).

## Capabilities [#capabilities]

### `resolveSuiCapabilities(wallet): WalletCapabilities` [#resolvesuicapabilitieswallet-walletcapabilities]

Derive `WalletCapabilities` from advertised Sui Wallet Standard features
(`sui:signPersonalMessage`, `sui:signTransaction`,
`sui:signAndExecuteTransaction`, events, …).

Type: `WalletStandardCapabilityInput`.

## Chains [#chains]

* `SUI_CHAINS` — record keyed by chain id.
* `SUI_CHAINS_LIST` — array (mainnet / testnet / devnet).

## Types [#types]

Sui-specific feature shapes: `SuiSignPersonalMessageFeature`,
`SuiSignPersonalMessageInput`, `SuiSignPersonalMessageOutput`,
`SuiSignTransactionFeature`, `SuiSignTransactionInput`, `SuiSignTransactionOutput`,
`SuiSignAndExecuteTransactionFeature`, `SuiSignAndExecuteTransactionInput`,
`SuiSignAndExecuteTransactionOutput`.

The shared Wallet Standard protocol types (`WalletStandardWallet`,
`WalletStandardWalletAccount`, `WalletStandardAppModule`, `WalletsApp`,
`StandardConnectFeature`, `StandardDisconnectFeature`,
`StandardEventsFeature`, `StandardEventsListener`) live in
[`@usebutr/wallet-standard-shared`](/api/index) — import them from
there directly when casting `getSigner()`.

These feature types are what you cast `getSigner()` to when signing/sending —
see the [Sui Wallet Standard connector](/connectors/sui-wallet-standard).

**Source:** `packages/sui/src/index.ts`.
