Today we are excited to announce Notify.js — which makes it even easier for Dapp developers to provide users with real-time transaction notifications.

This release extends and enhances our API to provide teams with a comprehensive front-end JS library to track all parts of the Ethereum transaction life cycle. In this post, we will explore the origin of Notify, what it does, and the impact it has on your Dapp.

The Origins Of Notify

Blocknative originally launched with one product — Assist.js — at ETH Denver in February 2019. Assist provided Dapp users with both real-time transaction notifications and onboarding assistance. We were excited about the reception from the community — and worked to help dozens of great partners deploy Assist.

In the course of working with those partners, we learned a great deal about our customers’ needs. Two consistent pieces of feedback from developers were that they wanted more composability and reduced package sizes.

We listened to that feedback. Over the past several months, our development team focused on rearchitecting Assist to launch two new products — Notify and Onboard (which we will detail in a future post).

How Does Notify Work And What Does It Do?

Notify makes it easy for developers to monitor in-flight transactions and provide real-time notifications to users. Blocknative operates a global node network — running custom monitoring extensions that capture the mempool 5x per second. Our monitors then emit events as transactions change state. We track transaction hashes, as well as wallet and contract addresses. We decode ERC-20 and ER-721 assets transfers and support custom contract decodes.

All of this empowers developers to easily consume events and serve alerts to end-users.

An Example Of Blocknative's Transaction Notifications

Development teams — like Pillar Wallet — utilize Notify to improve engagement and provide their users with updates as their transactions move from Pending to Confirmed. And in the case where users issue Cancels or Speed Ups, Notify is there to keep developers updated on changing transaction hashes.

An Easy To Use Front End Library

Notify originally launched as a robust API. On top of that, we built an SDK, enabling teams to interact with the API over a websocket. The SDK makes it easier to work with the API in Javascript, but doesn’t draw any pixels on the screen.

Notify.js is built on the SDK, which connects to the API

To further simplify the experience of deploying Notify, we’ve launched a front-end JS library (which leverages the API via the SDK). Note, if you want to learn more about the SDK and API, explore our Docs.

Notify.js is the easiest way for developers to integrate real-time transaction notifications into their Dapp. In the course of creating this JS library, we took all of our learnings from Assist and implemented them with cutting-edge practices for a JS library. Notify.js has a very simple configuration, easy to override CSS, and leverages emitters, enabling developers to write handlers for only the message types that they care about.

With Nofity.js developers get:

The entire range of Notify Alerts



Modern, customizable notification design



Easy mode to quickly support server detected events



Pre-flight mode to detect client events that could block transactions



Custom message support to override our defaults



Easy to override clear CSS



Built-in language localization



We plan to work with the community to provide internationalized versions



Back-end reporting



Optimized bundle size

All of this functionality is available to use today as an open-source Javascript library. Interested teams can learn more by exploring the Notify Docs and the GitHub repo. If you have questions, please connect with me in the Blocknative Discord.

How to Get Started

Developers can sign up for a free account to try Blocknative today. We have focused on making integration a seamless process. But if you or your team have questions you can can schedule a demo: