> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhino.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Server setup

Rhino webhooks deliver real-time transaction status events to your server — covering deposit detection, settlement confirmation, and action outcomes for Smart Deposit Addresses and bridges.

Setting up a webhook server involves creating an HTTP endpoint that can receive POST requests from Rhino.fi, process the webhook payloads, and respond appropriately. This guide covers the essential components and best practices for webhook server implementation.

## Basic Server Requirements

### **Endpoint**

Your endpoint must be a `POST` endpoint and called `/rhinofi-event`.

It will receive a signature header called: `X-Rhino-Signature` which can be then verified ([see verification details](/webhook/verify-webhook-signature)).

The received body structure will be the following:

```
{
  event: WebhookEvent, // check the Webhook Events section for more details
  eventId: string,
  ts: number,
}
```

It should return a 204 status with no content.

### **HTTPS Only**

Your webhook endpoint must use HTTPS to ensure secure data transmission. Rhino.fi will not send webhooks to HTTP endpoints.

### **Public Accessibility**

The endpoint must be publicly accessible. Rhino.fi will provide a signature when calling your endpoint for you to be able to identify the sender.

Your endpoint might implement rate limiting to prevent anyone from abusing it.

### **Reliable Uptime**

Ensure your server has good uptime. Failed webhook deliveries will be retried a few times, but consistent failures may result in events being lost.
