Skip to main content

Liquid Staking

Terra002_0029Liquid Staking


To create a Liquid Staking notification using the Hermes Protocol API, construct the request body according to the general structure. For the notificationParams object, adhere to the Body structure outlined below:

Body Structure

contractmandatoryStringSmart Contract Address
tokenContractmandatoryStringBonded Token Address
stakes.flagmandatoryBooleanTrigger on staking events
stakes.valueoptionalFloatThreshold Value
stakes.typeoptionalStringUse comparison operators (listed as Price Types here) for the Threshold
queueUnbond.flagmandatoryBooleanTrigger on queueUnbond events
queueUnbond.valueoptionalFloatThreshold Value
queueUnbond.typeoptionalStringUse comparison operators (listed as Price Types here) for the Threshold
submitBatch.flagmandatoryBooleanTrigger on submitBatch events
submitBatch.valueoptionalFloatThreshold Value
submitBatch.typeoptionalStringUse comparison operators (listed as Price Types here) for the Threshold
finishUnbond.flagmandatoryBooleanTrigger on finishUnbond events
finishUnbond.valueoptionalFloatThreshold Value
finishUnbond.typeoptionalStringUse comparison operators (listed as Price Types here) for the Thresholdn
scopemandatoryStringSee scope

In this section we only show the notification parameters specific for liquid staking. To see the rest of the body structure please check the notification

Live example

Here you can find an example of the notifications set-up. This example was made using the following data:

Backbone Labs / Gravedigger

Base parameters

notificationTypeIdNotification TypechainIdChain NamecategoryIdCategory NameprojectIdProject Name
002_0029Liquid Stakingzb1_002Terrazb3_0008Stakingzb2_0034Backbone Labs/Gravedigger

If your project is not listed here, and you want to integrate with us, please make a pull request in this repository. Please enter in our Discord and talk with our team for technical support.

Notification Parameters





stakes / queueUnbond / submitBatch / finishUnbond

flagBooleanWhether the user want receive alert about this event or not
valueFloatValue used on the event
typeStringType of comparison used between the value configured and the value used on the event


zc5_0001My wallet
zc5_0003Other wallet

Example Body Structure

"walletAddress": "terra194wmtg0...ja4",
"signBytesResult": "3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3",
"originalBytes": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"chainId": "zb1_002", // Terra
"categoryId": "zb3_0008", // Staking
"projectId": "zb2_0034", // Backbone Labs
"notificationTypeId": "002_0029",
"notificationParams": {
"contract": "terra1l2nd99yze5fszmhl5svyh5fky9wm4nz4etlgnztfu4e8809gd52q04n3ea",
"tokenContract": "terra17aj4ty4sz4yhgm08na8drc0v03v2jwr3waxcqrwhajj729zhl7zqnpc0ml",
"stakes": {
"flag": true,
"value": 10,
"type": "="
"queueUnbond": {
"flag": true,
"value": 25,
"type": "<"
"submitBatch": {
"flag": true,
"value": 12,
"type": "<="
"finishUnbond": {
"flag": true,
"value": 100,
"type": ">"
"scope": "zc5_0001"