Wallet Standard Features
| Attribute | Type |
|---|---|
| connect | ✅ |
| disconnect | yes |
| signPersonalMessage | yes |
| signMessage | yes |
| signTransaction | yes |
| signTransactionBlock | yes |
| signAndExecuteTransaction | yes |
| signAndExecuteTransactionBlock | yes |
Connect to Bitget Wallet
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
Sign Message

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
Sign Transaction


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;
}

