Real-time event notifications
| Event | Description |
|---|---|
carbon.updated | Carbon data refreshed |
attestation.created | New DAP attestation |
nft.minted | NFT receipt minted |
feed.alert | Data anomaly detected |
system.status | Service status changed |
{
"event": "carbon.updated",
"timestamp": "2026-01-16T00:15:00Z",
"data": {
"feed_name": "carbon_intensity",
"networks_updated": 54,
"snapshot_id": "snap_abc123"
},
"meta": {
"webhook_id": "wh_xyz789",
"delivery_attempt": 1
}
}
Configure your webhook endpoint in the Enterprise Dashboard:
Verify webhook authenticity using the signature header:
X-FeedOracle-Signature: sha256=abc123...
import hmac
import hashlib
def verify_signature(payload, signature, secret):
expected = hmac.new(
secret.encode(),
payload.encode(),
hashlib.sha256
).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)
| Attempt | Delay |
|---|---|
| 1 | Immediate |
| 2 | 1 minute |
| 3 | 5 minutes |
| 4 | 30 minutes |
| 5 | 2 hours |
After 5 failed attempts, the webhook is paused and you receive an email alert.
webhook_id to detect duplicates