Kwery webhooks deliver HTTP POST callbacks when addresses receive funds, transactions confirm, or blocks are added — without polling RPC.
Requires Developer or Business plan. Register webhooks via POST /v1/webhooks or use the dashboard.
Event kinds
| Kind | Description |
|---|---|
block_added | New block in the DAG |
virtual_chain_changed | Virtual chain reorg or extension |
virtual_daa_score_changed | DAA score update |
utxos_changed | UTXO created/spent for watched addresses |
mempool_entry | Transaction entered mempool |
sink_blue_score_changed | Sink blue score updated |
covenant_execution | Toccata covenant transaction (parsed) |
krc20_activity | KRC-20 inscription detected |
native_asset_transfer | Native asset / token transfer hint |
silverscript_event | Silverscript-related script |
Toccata kinds (covenant_execution, krc20_activity, etc.) are derived from enhanced transaction parsing on enriched events.
Credits
| Action | Credits |
|---|---|
| Webhook delivery | 1 per event |
| Create / list / delete | 10 (enhanced API) |
WebSocket alternative (recommended for scripts)
For low-latency streaming, connect to wss://kwery-api.com/v1/ws?api_key=... and send:
{
"op": "subscribe",
"kinds": ["utxos_changed", "covenant_execution"],
"addresses": ["kaspa:qq..."]
}
No dashboard webhook is required. When you subscribe with addresses, Kwery registers them with kaspa-relay for utxos_changed automatically (relay sync may take up to ~30 seconds).
Watch script
export KWERY_API_KEY=kwery_live_...
npm run watch:address -- kaspa:qq<your-address>
Uses kaspa-wasm for address validation and the KweryRealtime client (scripts/lib/kwery-realtime.mjs).
Dashboard setup
- Create a webhook in the dashboard or via API
- Choose event kinds and optional
kaspa:addresses to filter - Provide your HTTPS callback URL
- Verify the
X-Kwery-SignatureHMAC on each delivery