Docs
Getting Started

Getting Started

Installation

To get started with integrating the web wallet SDK in your dApp, you will need to install the @argent/starknetkit package and its peer dependencies:

  npm install @argent/starknetkit starknet

Imports

After installation, we get access to different methods, such as connect, disconnect, etc which we should import for use in our application:

import { connect, disconnect } from '@argent/starknetkit'

Establishing a connection

To establish a wallet connection, we need to call the connect method which was imported earlier like this:

const connection = await connect();

Below is an example function that establishes a connection, then sets the connection, provider, and address states:

const connectWallet = async() => {
  const connection = await connect({webWalletUrl: "https://web.argent.xyz"});
 
  if(connection && connection.isConnected) {
    setConnection(connection)
    setProvider(connection.account)
    setAddress(connection.selectedAddress)
  }
 }

And to reconnect to a previously connected wallet on load:

const connection = await connect({modalMode: "neverAsk", webWalletUrl: "https://web.argent.xyz"})

Example:

useEffect(() => {
 
  const connectToStarknet = async () => {
	
    const connection = await connect({modalMode: "neverAsk", webWalletUrl: "https://web.argent.xyz"})
	
    if (connection && connection.isConnected) {
      setConnection(connection);
      setProvider(connection.account);
      setAddress(connection.selectedAddress);
    }
  };
	
  connectToStarknet();
}, [])

Disconnecting wallet

To disconnect an existing connection, simply call the disconnect method from our imports:

await disconnect();

Example:

const disconnectWallet = async () => {
 
  await disconnect();
	
  setConnection(undefined);
  setProvider(undefined);
  setAddress('');
}

Available methods

  1. isConnected - This method available after an attempt to establish a connection, can be used to confirm if an account was truly connected.
  2. selectedAddress - This method can be called to get the wallet address of a connected account.
  3. account - This method gives us access to the account object. It uses starknet.js (opens in a new tab) AccountInterface and extends the starknet.js Provider.
ℹ️

It's important to note that web wallet is only available for users on mainnet. If as a dApp for integration and testing purposes, you need access to an internal testnet environment, please contact Argent privately.