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