Skip to main content
Getting Started

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. 1

    Navigate to Webhooks

    Open your Dashboard and go to Webhooks → New Webhook.

  2. 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. 3

    Select event types

    Choose which XRPL event types you want to receive. You can always update this later.

  4. 4

    Add account filters (optional)

    Optionally restrict delivery to specific XRPL wallet addresses (r-addresses). Leave empty to receive events for all accounts.

  5. 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

ParameterTypeRequiredDescription
urlstringYesHTTPS URL to deliver events to
event_typesstring[]YesArray of event type strings (e.g. ["payment.xrp"])
descriptionstringNoHuman-readable label for your own reference
account_filtersstring[]NoLimit delivery to specific XRPL accounts. Empty array = all accounts
is_activebooleanNoWhether 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/webhooksValid HTTPS public endpoint
https://yourapp.ngrok.io/xrplValid HTTPS tunnel URL
http://yourapp.com/webhookNot HTTPS — must use TLS
https://localhost:3000/webhookLocalhost not reachable from XRNotify servers
http://192.168.1.1/hookPrivate IP addresses are blocked

Local testing tools

Since XRNotify requires a publicly reachable HTTPS URL, you need a tunnel to test locally. Here are two popular options:

ngrok http 3000

Copy the https:// forwarding URL and use it as your webhook URL.

Cloudflare Tunnel

cloudflare.com →
cloudflare tunnel --url http://localhost:3000

No 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.

Next steps