Published on

How to generate parsiq wallet triggers for CryptoPunks - DSPYT

How to generate parsiq wallet triggers for CryptoPunks - DSPYT

In this post we create three parsiq platform smart Triggers that respond to CryptoPunks directly related on-chain events and follow custom logic to deliver all necessary transaction information about the price action.

Offers for Sale of the limited CryptoPunks collection are particularly vital to traders and collectors. New listings might prove to be an opportunity to profit from the immediate purchase. Meanwhile for traders new sales provide indicators for the demand and supply within the collections as well as for the market, in general.

Cryptopunks is the NFT collection of 10000 uniquely generated characters. The collection has a highest market capitalization and market volume as of November 4th 2021.


Simple Walkthrough

  1. We created parsiq account with an Empty project instead of a template as it allows us to edit the trigger code.
parsiq account with an Empty project
  1. Next, to monitor the NFT collection we added its contract ABI in the User stream on parsiq platform.
monitor the NFT collection

We select the ABI straight from the page and export into RAW/TEXT format and upload to parsiq platform.

export abi
  1. Following data from Etherscan we choose three most frequent events so that we could use them with ParsiQL to create a trigger.
Parsiq Trigger

In our instance, we added the events: PunkOffered, PunkBidEntered and PunkBidWithdrawn.

Parsiq Events
  1. Back in our Project we also included transports to get the necessary data. There are four options: Web, Discord, Telegram and Google Sheets. In this project we implemented Web, Telegram and Google Sheets transports.
Parsiq Transports
  1. As we implemented the necessary details we combine them as a final product. In our Project we create triggers for each of the events with similar ParsiQL code, deploy them and add transports. Here are some details on the code and configuration:
ParsiQL code
ParsiQL code 2
ParsiQL code 3
ParsiQL code 4


We get immediate notifications through a telegram bot in the private channel.

telegram bot in the private channel

By using ngrok, we receive the post requests from the triggers.

For two out of three trigger we also post the data back on the Platform to update the User Tables with NodeJs.

var express = require('express')
var request = require('request')

var app = express()
app.use(express.json())'/', function(req, res) {
var options = {
'method': 'POST',
'url': '{key-of-the-table}',
'headers': {
'Authorization': 'Bearer API-key-of-the-project',
'Content-Type': 'application/json'
body: JSON.stringify([
"address": req.body.fromAddress,
"Punk": req.body.punkIndex,


const port = process.env.PORT || 3000

app.listen(port, () => console.log(`Application listening on port ${port} `))

We also configured three separate Google Sheet spreadsheets that serve as real time database for CryptoPunks collection. We use R to host the database and display the CryptoPunks on-chain activity.

Further we suggest to utilize the data for a more comprehensive analysis with parsiq.

GitHub repository for PARSIQ CryptoPunks Offers and Bids Tracking Dashboard