Internal Transaction Monitoring Is The Missing Puzzle Piece To Understanding Your Smart Contract Activity

Chris Meisl

By Chris Meisl in blockchain, Notify, Mempool on February 13, 2020


Blockchains are transaction engines, enabling the exchange of value in ways that have not been possible before. The potential is exciting. But the complexity of smart contract-based transactions can make it difficult for even the most experienced Ethereum developers to understand what is actually going on with a transaction.

Today, we are excited to announce that Notify — Blocknative’s real-time blockchain transaction management and monitoring platform — now makes it easier to understand value transfer with support for internal transactions.

What Are Internal Transactions?

Internal transactions refer to interactions from one smart contract (sometimes called an "internal address”) to another. This type of transaction is widely used in the Ethereum ecosystem, especially as smart contracts become building blocks for more sophisticated interactions. But internal transactions make it challenging to understand when your address is party to a transaction. 

A single transaction on a smart contract can result in dozens or even hundreds of internal transactions that interact with numerous other smart contracts, or simply distribute value to a host of wallets via an airdrop.

A diagram of internal transactionsThis diagram details an internal transaction

While internal transactions have real consequences to account balances, surprisingly the internal transactions themselves are not stored in on-chain. To see internal transactions, you have to run the transaction and trace the calls that it makes. While some contracts do log events to the chain that record internal activity, many do not because doing so requires additional gas.

So tracking the outcome of internal transactions often leaves users in the dark about when their address was involved. 

Why Are Internal Transactions Important To My Web3 Project?

Currently, it’s difficult to gain insight into when your wallet or contract is a party to an internal transaction. Prior to this update, Notify supported alerting users when their watched addresses are associated with external transactions that are pending and on-chain. Notify could even dive into some well-known contracts, such as ERC20 and ERC721 transfers, to detect impacted addresses.   

With this update, we support notifying users when their watched addresses are associated with any internal transactions that are confirmed (or failed) on-chain.

Using Notify to monitor when addresses are part of a smart contract call enables protocols to gain insight into when their contracts are used in internal transactions from other contracts. This gives a lot more visibility into how your contract is used by other products.

Notify's internal transaction monitoring enables developers to gain insight into, and inform their users of, complex transactions and interactions that are otherwise opaque.

How To Easily Get Internal Transactions

Blocknative has enhanced Notify to monitor on-chain internal transactions and notify customers if any of their watched addresses are involved. The new internal transaction details, and any associated balance transfers, are automatically sent to Notify users. Developers can receive these details of their internal transactions via Notify API, SDK, or JS client library that renders notifications in your Dapp.

If internal transactions are important to you and your Web3 project, then sign up for Blocknative and begin exploring Notify today. 

And More To Come

This is only the first step in Blocknative's drive to improve the understanding and communication of blockchain transaction lifecycles. We are pushing towards predictive modeling for internal transactions in the mempool, giving you insight into what probably will happen if your transaction is confirmed. Exciting times ahead!

Try Blocknative Today

Blocknative builds tools that make it easy for developers to improve blockchain usability. Notify — the framework for real-time transaction notifications — is available via an API, SDK, or robust JavaScript library. And Onboard — our open-source solution to help users get started with Web3 — is available as a JavaScript library.

You can sign up for a free account today to get started:

Try It Now