Wallet Standard Features
Attribute | Type |
---|---|
connect | ✅ |
disconnect | yes |
signPersonalMessage | yes |
signMessage | yes |
signTransaction | yes |
signTransactionBlock | yes |
signAndExecuteTransaction | yes |
signAndExecuteTransactionBlock | yes |
Provider
The Sui wallet is based on wallet-standard . Unlike other heterogeneous chains, the provider is obtained through events.
const chainName = 'suiMainnet'; const GlobalWallet = { register: (wallet) => { GlobalWallet[chainName] = wallet } } const event = new CustomEvent('wallet-standard:app-ready', { detail: GlobalWallet }); window.dispatchEvent(event); const provider = GlobalWallet[chainName]
Connect

Establishes a connection between the dApp and the user’s Sui wallet. This method typically prompts the user to authorize access to their wallet and returns account-related information upon approval.
Usage
window.bitkeep.suiWallet.connect()
Returns:
- An array of wallet addresses/accounts the user granted access to.
interface ConnectResult { accounts: Account[]; }
Try It
SignPersonalMessage & SignMessage

Used to prompt the user to sign a personal message and return the signed message to the dApp. This is used to verify the user’s public key. if you use @mysten/sui < 1.0, please use signMessage, otherwise use signPersonalMessage instead
- If you’re using the latest version of the official Sui SDK, it’s recommended to use signPersonalMessage. Otherwise, fall back to signMessage.
Parameters
- message: The message to be signed (string or Uint8Array).
interface SignMessageInput { message: string | Uint8Array; }
Returns:
- signature: The signed message in base64 or hex format.
- publicKey: The public key used to generate the signature.
- message: The original message that was signed.
interface SignMessageResult { message: string; signature: string; publicKey: string; }
Usage
const signature = await window.bitkeep.suiWallet.signPersonalMessage({message: "hello bitget wallet"});
Try It
SignTransaction & signTransactionBlock


Used to prompt the user to sign a personal message and return the signed message to the dApp. This is used to verify the user’s public key. if you use @mysten/sui < 1.0, please use signTransaction, otherwise use signTransactionBlock instead
Parameters
- message: The message to be signed (string or Uint8Array).
import {Transaction} from "@mysten/sui/transactions"; interface signTransactionInput { transaction: Transaction } // or import {TransactionBlock} from "@mysten/sui.js/transactions"; interface signTransactionBlockInput { transactionBlock: TransactionBlock }
Returns:
- signature: The signed message in base64 or hex format.
- bytes: The signed message in base64 format.
interface SignTransactionResult { bytes: string; signature: string; }