How to connect ReactJS with MetaMask ?
Last Updated : 12 Apr, 2025
To Connect React JS with MetaMask is important while making Web 3 applications, It will be done with Meta mask wallet which is the most used browser tool for sending and receiving signed transactions .
MetaMask is a crypto wallet and a gateway to blockchain DAPP. It is used to connect our app to web3. It is just a Chrome extension that is used to access and interact with the Ethereum blockchain. Its features support tokens and digital assets in the Ethereum ecosystem. It is also used as a primary wallet to store the balance in Ethereum.
For connection, we are using ethers.js, in order to connect to the Ethereum wallet.
Approach to connect React JS with MetaMask
We will connect MetaMask to React using Ether library which can be used to initialize the authentication using MetaMask wallet browser extention. Then a request will be made to acces the account info e.g. current balance, last transections etc.
Steps to create React Application
Step 1: Creating a react project with CLI
npx create-react-app eth_app
Step 2: Move to the project directory
cd eth_app
Step 3: Install these packages to run the application
npm i react-bootstrap bootstrap [email protected]
Project Structure:

The updated dependencies in package.json file will look like:
{
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"bootstrap": "^5.3.2",
"ethers": "^5.7.2",
"react": "^18.2.0",
"react-bootstrap": "^2.9.0",
"react-dom": "^18.2.0",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
}
}
Example: Initiallize metamask authentication usign browser extention when clicked on Connet button.
JavaScript // Filename - App.js // Importing modules import React, { useState } from "react"; import { ethers } from "ethers"; import "./App.css"; import { Button, Card } from "react-bootstrap"; import "bootstrap/dist/css/bootstrap.min.css"; function App() { // usetstate for storing and retrieving wallet details const [data, setdata] = useState({ address: "", Balance: null, }); // Button handler button for handling a // request event for metamask const btnhandler = () => { // Asking if metamask is already present or not if (window.ethereum) { // res[0] for fetching a first wallet window.ethereum .request({ method: "eth_requestAccounts" }) .then((res) => accountChangeHandler(res[0]) ); } else { alert("install metamask extension!!"); } }; // getbalance function for getting a balance in // a right format with help of ethers const getbalance = (address) => { // Requesting balance method window.ethereum .request({ method: "eth_getBalance", params: [address, "latest"], }) .then((balance) => { // Setting balance setdata({ Balance: ethers.utils.formatEther(balance), }); }); }; // Function for getting handling all events const accountChangeHandler = (account) => { // Setting an address data setdata({ address: account, }); // Setting a balance getbalance(account); }; return ( <div className="App"> {/* Calling all values which we have stored in usestate */} <Card className="text-center"> <Card.Header> <strong>Address: </strong> {data.address} </Card.Header> <Card.Body> <Card.Text> <strong>Balance: </strong> {data.Balance} </Card.Text> <Button onClick={btnhandler} variant="primary" > Connect to wallet </Button> </Card.Body> </Card> </div> ); } export default App;
Step to run the application: Open the terminal and type the following command.
npm start
Output: Open the browser and our project is shown in the URL http://localhost:3000/
Similar Reads
How To Connect Node with React?
To connect Node with React, we use React for the frontend (what users see) and Node.js for the backend (where the server logic lives). The frontend sends requests to the backend, and the backend responds with data or actions. There are many ways to connect React with Node.js, like using Axios or Fet
4 min read
How To Connect MongoDB with ReactJS?
MongoDB is a popular NoSQL database known for its scalability, flexibility, and high performance. When building modern web applications with ReactJS, itâs common to connect your frontend with a backend server that interacts with a database like MongoDB. PrerequisiteReact JSNode JSMongo DBApproach to
5 min read
How to Connect Django with Reactjs ?
Connecting Django with React is a common approach for building full-stack applications. Django is used to manage the backend, database, APIs and React handles the User Interface on frontend. Prerequisites:A development machine with any OS (Linux/Windows/Mac).Python 3 installed.Node.js installed (ver
9 min read
How to Connect ReactJS with flask API ?
Connecting React with Flask API allows us to create a full-stack web application with React handling the user interface at frontend and Flask serving the data in backend. Here React makes the HTTP request to interact with the flask API to perform operations with the database. ApproachTo connect Reac
4 min read
How To Create a Website in ReactJS?
ReactJS is one of the most popular JavaScript libraries for building user interfaces. It allows you to create dynamic, reusable UI components and efficiently manage state and events. In this article, we'll walk through the steps to create a basic website using ReactJS. PrerequisitesNPM & Node.js
5 min read
How To Use Modal Component In ReactJS?
Modals are a popular UI component used to display content in a pop-up window like alerts, forms, or additional information. In ReactJS, there are multiple ways to implement a modal. In this article, we will discuss two common approaches: using reusable functional components and using the Material-UI
4 min read
How to publish a ReactJS component to NPM ?
Follow these simple steps in order to publish your own ReactJS component to NPM. Step 1: Initial Setup In order to publish any ReactJS Component to npm (node package manager), first we have to create a React component in the React app. Following are the instructions for creating any react app. Creat
3 min read
How to use Portal Component in ReactJS ?
The portal component renders its children into a new subtree outside the current DOM hierarchy. Material UI for React has this component available for us, and it is very easy to integrate. We can use the Portal Component in ReactJS using the following approach. Prerequisites:NodeJS or NPMReact JSMat
2 min read
How to write ReactJS Code in Codepen.IO ?
Now everything is online, some people use VScode to write react.js code and face most of the difficulty. The VScode requires setting for writing React.js code and Many beginners faced difficulty to use VScode so, for them, it is good and easy to use codepen. The codepen provide you with an online pl
2 min read
How to export modules with sub-modules in ReactJS ?
One of the key features of React is its modular structure, which allows developers to break down their code into reusable components. In many cases, these components are organized into modules and submodules, which can be exported and imported into other parts of the application. Prerequisites:NPM
3 min read