Create Your First Webhook
Webhooks are HTTPS endpoints in your application that XRNotify delivers XRPL events to. You can create them through the dashboard UI or the REST API.
Method 1: Dashboard
The fastest way to get started — no code required.
- 1
Navigate to Webhooks
Open your Dashboard and go to Webhooks → New Webhook.
- 2
Enter your endpoint URL
Provide the full HTTPS URL that XRNotify should POST events to. Must be publicly reachable (see URL requirements below).
- 3
Select event types
Choose which XRPL event types you want to receive. You can always update this later.
- 4
Add account filters (optional)
Optionally restrict delivery to specific XRPL wallet addresses (r-addresses). Leave empty to receive events for all accounts.
- 5
Click Create
Your webhook is created and the signing secret is shown once. Copy it immediately — it cannot be retrieved after you leave this page.
Method 2: API
Create webhooks programmatically — useful for automated deployments or multi-tenant applications.
curl -X POST https://api.xrnotify.io/v1/webhooks \
-H "X-XRNotify-Key: xrn_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourapp.com/webhooks/xrpl",
"description": "Production payment handler",
"event_types": ["payment.xrp", "payment.issued"],
"account_filters": ["rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe"]
}'Request body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | HTTPS URL to deliver events to |
event_types | string[] | Yes | Array of event type strings (e.g. ["payment.xrp"]) |
description | string | No | Human-readable label for your own reference |
account_filters | string[] | No | Limit delivery to specific XRPL accounts. Empty array = all accounts |
is_active | boolean | No | Whether the webhook is active. Defaults to true |
URL requirements
XRNotify enforces strict requirements on webhook URLs to ensure reliable delivery and security.
https://api.yourapp.com/webhooks— Valid HTTPS public endpointhttps://yourapp.ngrok.io/xrpl— Valid HTTPS tunnel URLhttp://yourapp.com/webhook— Not HTTPS — must use TLShttps://localhost:3000/webhook— Localhost not reachable from XRNotify servershttp://192.168.1.1/hook— Private IP addresses are blockedLocal testing tools
Since XRNotify requires a publicly reachable HTTPS URL, you need a tunnel to test locally. Here are two popular options:
Cloudflare Tunnel
cloudflare.com →cloudflare tunnel --url http://localhost:3000No account required for quick testing with trycloudflare.
Pro tip: Use the test endpoint (POST /v1/webhooks/:id/test) to immediately send a synthetic event to your webhook without waiting for real XRPL activity.