Skip to content
Projects

coinbase/coinbase-wallet-sdk

View on GitHub

coinbase/coinbase-wallet-sdk has 1,768 GitHub stars and 766 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 02:13 UTC. Last push 2026-10-27.

How these counts are measured

An open protocol that lets users connect their mobile wallets to your DApp

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Coinbase Wallet SDK

npm

Overview

The Coinbase Wallet SDK connects your app to Coinbase Wallet so it can interact with the Ethereum blockchain.

  1. Coinbase Wallet

Installing the SDK

# npm
npm install @coinbase/wallet-sdk

# yarn
yarn add @coinbase/wallet-sdk

SDK Setup and Usage

Upgrading the SDK

  1. Compare the installed version with the latest:

    # yarn
    yarn outdated @coinbase/wallet-sdk
    
    # npm
    npm outdated @coinbase/wallet-sdk
    
  2. Update to latest:

    # yarn
    yarn upgrade @coinbase/wallet-sdk --latest
    
    # npm
    npm update @coinbase/wallet-sdk
    

Basic SDK Usage

  1. Initialize the SDK

    const sdk = createCoinbaseWalletSDK({
      appName: 'SDK Playground',
    });
    
  2. Make Coinbase Wallet Provider

    const provider = sdk.evm.getProvider();
    
  3. Request accounts to initialize a connection to wallet

    const addresses = provider.request({
      method: 'eth_requestAccounts',
    });
    
  4. Make more requests

    provider.request('personal_sign', [
      `0x${Buffer.from('test message', 'utf8').toString('hex')}`,
      addresses[0],
    ]);
    
  5. Handle provider events

    provider.on('connect', (info) => {
      setConnect(info);
    });
    
    provider.on('disconnect', (error) => {
      setDisconnect({ code: error.code, message: error.message });
    });
    
    provider.on('accountsChanged', (accounts) => {
      setAccountsChanged(accounts);
    });
    
    provider.on('chainChanged', (chainId) => {
      setChainChanged(chainId);
    });
    
    provider.on('message', (message) => {
      setMessage(message);
    });
    

Developing locally and running the test app

Explore related projects