Block Hook is a mircoservice to trigger custom webhooks based on onchain contract events!
Many of the blockchain projects we have worked on require offchain responses to onchain events and transactions. This includes everything from generating metadata and assets for nfts, logging contract interaction, tracking projects, analytics and insights, as well as bots. Right now, this requires running your own server to listen to the blockchain because there are no simple to use generalized solutions. Block Hook is a microservice that lets you easily create webhooks (exposed web2 apis) that are triggered by onchain transactions and data. This means that you can call 3rd party services or even your own APIs, using logged event data to customize actions, without needing to build your own costly blockchain watcher -- think IFTTT for the blockchain.
How it's made
Block Hook is built on top of a scalable serverless stack that uses lambda functions to watch for new blocks across multiple blockchains, using Alchemy and Pocket as RPC providers. Every block, Block Hook checks emitted onchain logs against a custom bloom filter and matching hooks are queued for processing. Each hook can contain multiple actions (web2 urls) -- these are populated with log data and invoked immediately. We provide a RESTFUL api that powers our React frontend. Creating hooks is simple -- we pull in contract abis using Etherscan's api and developed a parameter mapping interface to make composing hooks possible for even non technical users.