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.