Blockchain Data Pipeline

Receive Events

The Blockchain Data Pipeline emits your selection of contract events from a specified contract to your webhook. To learn how to create one, click here.

Finality & Event Status

The Event Service handles logic in regard to finality, so you can rest assured that your transaction and event data are accurate and up to date. Events are emitted both in real time and after a block threshold to insure the status of a transaction remains the same.

Events have 3 possible status: PENDING, CONFIRMED, or REMOVED

console.log(data.status) >> PENDING

Receive Event

Events are emitted upon publish to the block and after the block finality threshold.

Example Webhook Server

const MY_SECRET_TOKEN = process.env.MY_SECRET_TOKEN const server: Server = http.createServer((req, res) => { const secret = req.getHeader('X-Webhook-Secret') if (typeof auth === 'undefined' || secret !== MY_SECRET_TOKEN) { res.writeHead(401) res.end() } let data = '' req.on('data', (body) => { data += body }) req.on('end', () => { console.log(`Received ${JSON.parse(data)}`) res.writeHead(200) res.end() }) })

Example Event

{ "eventName": "Transfer", "timeStamp": 1663280339, "status": "PENDING", "eventParameters": [ { "name": "from", "type": "address", "value": "0x22fFF189C37302C02635322911c3B64f80CE7203" }, { "name": "to", "type": "address", "value": "0x9B120D9ED4b910f7ab6a7b7a879D051AbafFb587" }, { "name": "value", "type": "uint256", "value": "38213863" } ], "contractAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "transactionHash": "0xd6cdc97992d4bdc9098a562a7df4d24023a2e8052309023574667f8aac907dd1", "blockNumber": 15542009 }