Overview
Utexo Cloud supports webhooks to notify your application about events occurring in your RLN nodes. When an event is triggered, Utexo Cloud sends a POST request to your configured endpoint with a JSON payload and a cryptographic signature header for verification.
Setting Up a Webhook
Option 1: Via Node Settings
- Navigate to your node page and click Settings.
- Locate the Webhook URL field.
- Enter the HTTPS endpoint where you want to receive events.
- Save the settings. Your public key for signature verification is shown in the same section.
Option 2: Via API at Node Creation
When creating a node via the Cloud API, include webhookUrl in the settings object:
How Webhooks Work
When a node state changes or an operation completes, Utexo Cloud sends a POST request to your endpoint including:
- A JSON payload with the event data and
nodeId
- An
X-Utexo-Signature header containing a cryptographic signature
Node Status Values
Webhook events reflect the following node status transitions:
Verifying Webhook Signatures
All webhook requests include a X-Utexo-Signature header that should be validated to confirm authenticity.
Step 1: Retrieve the Public Key
This returns the public key used to sign all webhook payloads from your account.
Step 2: Validate the Signature
Use the public key to verify the X-Utexo-Signature header on each incoming request.
Step 3: Validate the Payload
Ensure the nodeId in the payload matches the expected node to prevent spoofing.
Security Best Practices
Always verify the X-Utexo-Signature header before processing any webhook payload.
- Use HTTPS — Your webhook endpoint must use HTTPS to protect data in transit.
- Verify the signature — Validate the
X-Utexo-Signature header using the public key on every request.
- Validate the node ID — Confirm the
nodeId in the payload matches the node you expect.