4 min read
Overview
In the web3 space, there are times when you need to be notified when a specific event occurs, even if you're away from your computer or busy with other tasks.
But don't worry, QuickAlerts is the optimal solution for receiving notifications when a blockchain event happens.
In this tutorial, you will learn how to set up blockchain notifications in under 10 minutes and receive SMS notifications via Twilio.
This guide is also available as a video in Spanish below. - Esta guía también está disponible como video en español a continuación.
What You Will Do
- Learn about QuickAlerts
- Create an expression for USDC transfers over 1,000 USDC
- Trigger an SMS with Twilio when the QuickAlert fires
What You Will Need
- An account on QuickNode
- A basic understanding of QuickAlerts
- An account on Render to deploy our custom solution and receive notifications
- An account on Twilio as well as a phone number
Creating your alert on QuickNode
Step 1 - Define your notification and select a template
First, go to your dashboard and navigate to the QuickAlerts product.
After that, we need to click the Create notification button.
Name your notification. Don't worry too much about this value; you can always update it later.
Select your desired chain and network. We'll be using Ethereum for our example here.
Lastly, choose the blank template. There are options here that make it very easy to get started for other use cases as well.
Check out our Expression Library for pre-written expressions that you can use to power your apps and workflows.
Step 2 - Create your expression
In the create expression field at the top left, we will write our expression.
First, we will target a tx_logs_address
of the USDC contract address, 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
. This will ensure that we only receive notifications for USDC transfers.
Then, we will configure our expression to notify us of transfers for over 1,000 USDC. ERC-20 tokens are configured with a given number of decimals. In our case, USDC has 6, meaning transfers of 1 USDC will appear as a value of 1,000,000 on the blockchain.
In our case, 1000 + 6 decimals = 1000000000
.
1tx_logs_address == '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'2&&3tx_logs_data_int > 1000000000
We then need to test the expression. Click the Test Expression button. If there were any transactions that matched your expression, you'll see a green checkmark next to the block number(s) you tested against.
Step 3 - Select your destination
To complete the creation of our QuickAlert, you will need to configure a destination. To do so, click the "Create destination" button.
We will select the "Webhook" option, then "Continue".
You might be thinking, 'What is a Webhook?'. In simple words, it's the place where you will receive the alert.
Building your Webhook
To get notified, you will need to create a webhook on (Render)[https://render.com/].
Here are the steps:
- Go to your dashboard
- Click on the "New" button
- Click on the "Web Service" option
On this page, select "Build and deploy from a Git repository" and then "Next".
Paste the following value in the "Public Git Repository" field:
https://github.com/irwingtello/QuickAlertsSMS
Then fill out the following fields:
npm install
node app.js
Note: if you want to have your service available 24/7, upgrade your plan.
Lastly, we will need to add our environment variables. To do so, click on "Advanced" and click the "Add Secret File" button.
Name the file '.env' and paste in the following content:
FROM='Your Twilio Phone Number'
TO='Your Desired Number'
AUTHTOKEN='Your Auth Token'
ACCOUNTSID='Your Account SID from your Twilio account'
MESSAGE="A whale moved funds with [Amount] amount"
Go to your Twilio console to retrieve your account Phone number, auth token, and SID.
Here is an example of how you need to fill in the information:
Save your secret file and then scroll down to find the "Create Web Service" button and click it.
Click on the icon next to your new web service URL to copy it.
Go back to the QuickNode dashboard and paste it into the "URL and request type" field on the QuickAlert dashboard, adding the following text: "/api/quickalerts".
Example: https://quickalertssms.onrender.com/api/quickalerts
Don't worry about the webhook name, you can put any name.
In the Payload Type selection, please choose the option "4 - Matched Transactions".
Your destination configuration should look similar to this:
After that click the button "Create Webhook".
Toggle the switch at the right to enable this destination for your QuickAlert, then click "Deploy Notification".
Configuratios! Your alert is now created and whenever a matching transaction occurs, you will see this reflected in the last delivery field.
Finally, when a transaction occurs, you will be notified by an SMS message.
At the end of some messages, you may notice a number after the word "amount." For transactions that contain multiple matching transfers, this number will represent the index of a given transfer.
Conclusion
Fantastic work! You'll now receive SMS notifications for every action detected by QuickAlerts.
I encourage you to try and make it do even more.
Remember, small steps can lead to big results 🚀.
A version of this guide first appeared on Irwing Tello's blog here and was republished with permission.
We ❤️ Feedback!
Let us know if you have any feedback or requests for new topics. We'd love to hear from you.