Track Smart Contract Events in Real-Time with Web3
Let's create a stream that monitors all the events specific to a contract factory.
tip
This stream uses listen to all addresses feature that is available only on Business and Enterprise plans.
e
You will need an ABI that is used only on your contracts in order to not receive the events from other contracts that use the same ABI.
Programmatically: How to Listen to event from a contract factory
const Contract_Factory_ABI = [{
  "anonymous": false,
  "inputs": [
    { "indexed": true, "name": "from", "type": "address" },
    { "indexed": true, "name": "to", "type": "address" },
    { "indexed": true, "name": "contract", "type": "address" },
  ],
  "name": "factoryEvent",
  "type": "event",
}]; // valid abi of the event
const options = {
  chains: [EvmChain.ETHEREUM], // list of blockchains to monitor
  description: "monitor a contract factory", // your description
  tag: "contract_Factory", // give it a tag
  abi: Contract_Factory_ABI,
  includeContractLogs: true,
  allAddresses: true,
  topic0: ["factoryEvent(address,address,address)"], // topic of the event
  webhookUrl: "https://YOUR_WEBHOOK_URL", // webhook url to receive events,
};
const stream = await Moralis.Streams.add(options);
WebUI: How to Listen to event from a contract factory
- Create a new Stream
 - Fill out the form
 - Switch on Event Emittance and Add the Abi and select the topic
 - Select 
Listen to all addressesandContract interactions (logs) - Click on create stream button.