MORALIS SERIES

How to get ETH balance using Moralis with NodeJs API

Chikku George
BLOCK6
Published in
2 min readDec 4, 2022

--

In this tutorial, we’ll go over utilizing the Moralis Balance API and NodeJS to retrieve the ETH balance of a user’s wallet.

To set up the application, follow the instructions below.

  1. Create a package.json file as below
npm init -y

2. Install moralis and @moralisweb3/evm-utils dependency as follows

npm i moralis @moralisweb3/evm-utils

3. Your package.json should contain the following

{
"name": "moralis-eth-balance",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@moralisweb3/evm-utils": "^2.7.4",
"dotenv": "^16.0.3",
"express": "^4.18.2",
"moralis": "^2.7.4"
}
}

4. Create a .env file which contains the Moralis API_KEY

API_KEY = “Your Moralis API Key”

5. Start the server in server.js

require('dotenv').config();
const express = require('express');

const app = express();

app.use(express.json());

app.listen(8080, async () => {
console.log('server started');
});

6. Start Moralis in server.js

require('dotenv').config();
const express = require('express');
const Moralis = require('moralis').default;

const app = express();
const { API_KEY } = process.env;

app.use(express.json())

async function startMoralis() {
try{
await Moralis.start({
apiKey: API_KEY,
});
}catch(err) {
console.log(err);
}
}

app.listen(8080, async () => {
startMoralis();
console.log('server started');
})

7. Add a GET endpoint /balance to get the ETH balance

require('dotenv').config();
const express = require('express');
const Moralis = require('moralis').default;
const { EvmChain } = require('@moralisweb3/evm-utils');

const app = express();
const { API_KEY } = process.env;

app.use(express.json())

async function startMoralis() {
try{
await Moralis.start({
apiKey: API_KEY,
});
}catch(err) {
console.log(err);
}
}

app.get('/balance', async (req, res) => {
const chain = EvmChain.ETHEREUM;
const { address } = req.body;
try{
const response = await Moralis.EvmApi.balance.getNativeBalance({
address,
chain,
});
res.status(200).send(response.raw);
}catch(err) {
console.log(err);
}

})


app.listen(8080, async () => {
startMoralis();
console.log('server started');
})

8. Test the endpoint using Postman

The test result is given below. Give the wallet address in req.body

Postman Test Result (Credits: Author)

Summary

Up to this point, we have talked about utilizing the Moralis Balance API and NodeJs to obtain the wallet balance. Open a Moralis account and play around with their APIs.

JOIN DISCORD

Contents distributed by Learn.Block6.tech

👉 Discord — Live Talks

👉 Twitter — Latest articles

👉 LinkTr.ee

--

--

Chikku George
BLOCK6

Software Engineer | ReactJs | NodeJs | Blockchain Enthusiast