Receive Notifications
When Layer1 detects a managed balance transaction , the following webhooks types are sent out:
layer1:treasury:notification
sends updates on Treasury events to Slack.layer1:treasury:notice
sends updates to custom webpages.
You can receive the following notifications:
- ℹ️ Executing operation(s): TRANSFER
{managedBalanceId1}
->{managedBalanceId2}
{amount}
. - ℹ️
{managedBalanceId}
balance adjusted by{amount}
. - ℹ️ Treasury transfer(s)
{transactionId}
adjusting{managedBalanceId}
by{amount}
auto-approved. - ⚠️ Treasury transfer(s)
{transactionId}
adjusting{managedBalanceId}
by{amount}
awaiting approval at https://app.layer1.bvnk.com/approvals. - ⚠️ Adjustment of
{amount}
for{managedBalanceId1}
rejected. - ⚠️ Current balance for
{managedBalanceId1}
is{value}
, which is below the warning threshold of{WARNING_value}
.
The payload always features the same fields. The only distinction is the Source
field, which can be one of the following:
CONFIGURATION
: Parameters of a Managed Balance are configured via API.FORECAST
: Parameters of a Managed Balance are dynamically adjusted by the prediction feature.
{
"type": "INFO",
"eventType": "TREASURY_OPERATIONS_QUEUED",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "Treasury operations queued",
"context": {
"operations": [
{
"amount": 2500.00,
"operationId": "01972084-cd4e-7800-bfb3-8c98eb355e8b",
"source": "bvnk_binance_usdt",
"type": "TRANSFER",
"target": "bvnk_kraken_usdt"
},
{
"amount": 1000.00,
"operationId": "01972084-cd4e-7dbe-bfb5-fd0c6428b38a",
"source": "bvnk_coinbase_usdt",
"type": "TRANSFER",
"target": "bvnk_kraken_usdt"
}
]
}
}
{
"type": "INFO",
"eventType": "BALANCE_ADJUSTMENT_SUCCEEDED",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "Balance adjustment succeeded",
"context": {
"amount": 3500.00,
"thresholds": [
{
"type": "MIN",
"value": 1000.00,
"source": "CONFIGURATION"
},
{
"type": "TARGET",
"value": 5000.00,
"source": "CONFIGURATION"
}
]
}
}
{
"type": "WARNING",
"eventType": "TREASURY_OPERATION_TIMED_OUT",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "Treasury operation timed out",
"context": {
"operationId": "01972084-cd50-7395-aab2-58a1c261cf20",
"amount": 3000.00,
"source": "bvnk_binance_usdt",
"type": "TRANSFER",
"target": "bvnk_kraken_usdt"
}
}
{
"type": "ERROR",
"eventType": "TREASURY_OPERATION_FAILED",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "Treasury operation failed",
"context": {
"operationId": "01972084-cd50-7400-aab5-9f2dd3857ca2",
"amount": 3000.00,
"source": "bvnk_binance_usdt",
"type": "TRANSFER",
"target": "bvnk_kraken_usdt"
}
}
{
"type": "INFO",
"eventType": "APPROVAL_REQUESTED",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "Approval requested",
"context": {
"sources": [
{
"managedBalanceId": "bvnk_binance_usdt",
"amount": 3000.00,
"asset": "usdt"
},
{
"managedBalanceId": "bvnk_tron_usdt",
"amount": 3000.00,
"asset": "usdt"
}
],
"thresholds": [
{
"type": "MIN",
"value": 1000.00,
"source": "CONFIGURATION"
},
{
"type": "TARGET",
"value": 5000.00,
"source": "CONFIGURATION"
}
],
"amount": 3500.00
}
}
{
"type": "INFO",
"eventType": "AUTO_APPROVAL_GRANTED",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "Auto approval granted",
"context": {
"sources": [
{
"managedBalanceId": "bvnk_binance_usdt",
"amount": 3000.00,
"asset": "usdt"
},
{
"managedBalanceId": "bvnk_tron_usdt",
"amount": 3000.00,
"asset": "usdt"
}
],
"thresholds": [
{
"type": "MIN",
"value": 1000.00,
"source": "CONFIGURATION"
},
{
"type": "TARGET",
"value": 5000.00,
"source": "CONFIGURATION"
}
],
"amount": 3500.00
}
}
{
"type": "WARNING",
"eventType": "LOW_BALANCE_DETECTED",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "Low balance detected",
"context": {
"thresholds": [
{
"type": "WARNING",
"value": 2000.00,
"source": "CONFIGURATION"
},
{
"type": "MIN",
"value": 1000.00,
"source": "CONFIGURATION"
},
{
"type": "TARGET",
"value": 5000.00,
"source": "CONFIGURATION"
}
]
}
}
{
"type": "WARNING",
"eventType": "NO_ELIGIBLE_SOURCES_FOUND",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "No eligible sources found",
"context": {
"thresholds": [
{
"type": "MIN",
"value": 1000.00,
"source": "CONFIGURATION"
},
{
"type": "TARGET",
"value": 5000.00,
"source": "CONFIGURATION"
}
],
"amount": 3500.00
}
}
{
"type": "WARNING",
"eventType": "APPROVAL_REQUEST_REJECTED",
"entityCode": "ethereum",
"asset": "usdt",
"balanceAtEventTimestamp": 1500.50,
"message": "Approval request rejected",
"context": {
"amount": 3500.00,
"thresholds": [
{
"type": "MIN",
"value": 1000.00,
"source": "CONFIGURATION"
},
{
"type": "TARGET",
"value": 5000.00,
"source": "CONFIGURATION"
}
]
}
}
Updated 11 days ago