Facing issue While creating the Moralis Stream

I need help with Moralis streams. I am trying to create a stream to listen to wallet native currency transactions. I created the webhook file and am listening through ngrok. It works fine when I create the stream from the Moralis admin panel, but when I create the stream through the script, it doesn’t listen. What is the issue, and how can I resolve it?


const express = require(“express”);
const app = express();
const port = 7000;


app.post("/webhook", async (req, res) => {
console.log(“Received a webhook call”);
const { body } = req;
try {
console.log(“body”, body);
} catch (err) {
return res.status(400).json();
return res.status(200).json();

app.listen(port, () => {
console.log(“Listening to Stream”);


const Moralis = require(“moralis”).default;
const runApp = async () => {
const option = {
webhookUrl: “https://15ca-103-105-211-114.ngrok-free.app/webhook”, // replace with your own webhook URL
description: “My first stream”,
tag: “my_stream”,
chains: [“0x61”],
includeNativeTxs: true,
includeInternalTxs: true,
const newResponse = await Moralis.Streams.add(option);

const { id } = newResponse.toJSON(); // print the stream id
console.log("<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>", id);
const address = [
await Moralis.Streams.addAddress;
({ address, id });


Hi @umaidkhalid85

If the streams are successfully created through your code, you will find them on the below streams page

The first thing I would suggest you check is if there are any errors in delivering the webhook to your webhook URL.
You can check the logs on the below page.

To Kynect@umaidkhalid85,

In your code snippet, you are missing the await keyword when calling Moralis.Streams.addAddress. The address array should contain addresses as strings, but in your code, they are combined into a single string with commas.

Ensure that your Express server (webhook.js) is correctly configured to receive POST requests at /webhook and that it is accessible via ngrok or your chosen tunneling service.