-
Notifications
You must be signed in to change notification settings - Fork 61
Open
Description

Bug Description
A chainhook predicate configured to monitor Stacks smart contract events stops triggering webhook calls after a certain block height, despite:
- The chainhook status showing as "active"
- The "last evaluated" timestamp updating to current time
- Matching events continuing to occur on-chain
Environment
- Hiro Platform: Mainnet
- Chainhook Type: Stacks smart contract event monitoring
- Predicate Scope:
print_event
- Target: HTTP webhook endpoint
Expected Behavior
- Chainhook should continue triggering webhook calls for matching events
- If chainhook fails internally, status should reflect the failure state
- "Last evaluated" timestamp should indicate actual processing status
Actual Behavior
- Chainhook stops calling webhook after Bitcoin block ~913018
- Status remains "active" with current timestamps
- No error indicators in the Hiro dashboard
- On-chain events matching the predicate continue to occur but are not delivered
Reproduction Steps
- Create chainhook predicate monitoring smart contract print events
- Verify initial webhook deliveries work correctly
- Wait for extended period (several days/blocks)
- Observe webhook calls stop arriving despite matching on-chain events
- Note that chainhook status still shows "active"
Impact
This creates a false sense of reliability for applications depending on real-time event processing. Applications cannot distinguish between:
- No matching events occurring
- Chainhook silently failing to deliver events
Configuration Details
{
"predicate": {
"scope": "print_event",
"contract_identifier": "SP29D6YMDNAKN1P045T6Z817RTE1AC0JAA99WAX2B.burn-bob-faktory",
"contains": "daily-burn"
}
}
Proposed Solutions
- Status accuracy: Chainhook status should reflect actual delivery capability
- Error reporting: Clear error messages when webhook delivery fails
- Health checks: Periodic validation that chainhooks are actually processing events
- Retry mechanism: Automatic restart/recovery for failed chainhooks
- Monitoring: Better observability into chainhook processing pipeline
Workaround
Currently requiring manual chainhook restarts, which is not viable for production applications requiring reliable event processing.
Additional Context
This appears to be an infrastructure-level issue rather than application code, as:
- No changes made to webhook endpoint
- Endpoint remains accessible and functional
- Same predicate configuration worked previously
- Issue resolved temporarily by restarting chainhook
Please prioritize fixing the reliability and status reporting of chainhooks, as this affects production applications depending on real-time blockchain event processing.
Metadata
Metadata
Assignees
Labels
No labels