Skip to main content
This page takes you from an empty account to a signed test delivery that your receiver checked and accepted, then to a live alert for Hyperliquid BTC liquidations of $250,000 or more. You need:
  • A Build plan or higher. Endpoints, rules and test deliveries start on Build. On Free, those calls answer with a 400 that names the plan that includes them.
  • A public HTTPS URL that reaches your receiver. The URL must start with https://, serve a valid TLS certificate, and resolve only to public IP addresses. Private, loopback, link-local and carrier-grade NAT addresses are refused when you register the endpoint and again before every delivery, and redirects are not followed. For local development, run an HTTPS tunnel that forwards a public URL to localhost:8080.
The examples use https://example.com/hooks/0xarchive; replace it with your own URL everywhere.

1. Prepare a receiver

Your receiver reads the raw request body, checks the 0xa-signature header with the endpoint’s signing secret, and answers with a 2xx. Both versions below use the signature helper in the 0xArchive SDKs (version 1.12.0 and later) and serve POST /hooks/0xarchive on port 8080.
Install the dependencies now. You start the receiver in step 2, once you have the endpoint’s secret, with the matching command:
These receivers only print the event. Signatures and payloads shows one that records each event before answering, and the same signature check without the SDK.

2. Register the endpoint and send a test

Pick the way you work. Each tab is the whole path, and each uses the receiver from step 1.
Ask for the alert you want in one sentence:
Alert me at https://example.com/hooks/0xarchive when a BTC liquidation over $250,000 happens on Hyperliquid. Show me the signing secret, wait until I say my receiver has it, then send a test delivery.
The agent estimates how often that rule would have fired, creates the endpoint and the rule, sends a signed test delivery once your receiver is ready, and reports the delivery’s state and the status code your receiver returned. That one request also covers step 4.
1

Connect the MCP server

Add https://mcp.0xarchive.io/mcp as a remote HTTP MCP server and sign in with your client’s built-in OAuth flow; there is no API key to paste. In Claude Code:
Approve both webhook scopes on the consent screen: mcp:webhooks.read for the catalog, your rules, the delivery log and both previews, and mcp:webhooks.write for creating, testing and changing anything. If the consent screen does not offer them, the webhook tools are not enabled on the server you reached; use the dashboard or REST tab instead. MCP server covers other clients.
2

Send the request and install the secret

The agent shows the endpoint’s signing secret once. Export it as OXARCHIVE_WEBHOOK_SECRET, start your receiver, and tell the agent it is ready.
3

Or go one step at a time

Create a webhook endpoint for https://example.com/hooks/0xarchive.
Store the secret it returns, export it, and start your receiver. Then:
Send that endpoint a test delivery and show me its entry in the delivery log.

3. Check the test delivery

The test worked when both of these are true:
  • Your receiver accepted it. It printed a webhook.test event whose data.message reads “Test event from 0xArchive. Your receiver and signature verification are working.”
  • Its log entry agrees. The delivery’s state is delivered and last_status_code is the status your receiver returned.
A delivered test looks like this, as one entry of the delivery log’s data:
The log entry’s id is the delivery_id the test call returned, and event_id is the test’s own event id. If the state is not delivered yet:
  • pending with attempts at 0 means the delivery has not been attempted yet. Check again in a few seconds.
  • pending with attempts above 0 means an attempt failed and another is scheduled for next_attempt_at. last_status_code and last_error say why. A 400 from the receivers above means the signature check refused the request; the usual cause is a body that was parsed before it was checked, or a secret other than the one this endpoint returned.
Delivery and retries walks through the other failures. A test delivery is a real signed delivery through the same dispatch path as every other event, so it counts toward the day’s delivery allowance. It checks that the receiver is reachable and that its signature check works; it does not check whether a rule matches.

4. Create the alert you want

Now point the endpoint at something real: every Hyperliquid BTC liquidation of $250,000 or more. Check how often it would have fired first, then create it.
If you sent the one-sentence request in step 2, this rule already exists. Otherwise ask:
Estimate how often Hyperliquid BTC liquidations of $250,000 or more would have alerted me over the last week, then create that rule on my endpoint.
The agent calls estimate_webhook_subscription, then create_webhook_subscription, and reports the stored rule.
  • Read the catalog and your plan: list_webhook_event_types, get_webhook_limits.
  • Size a rule before creating it: estimate_webhook_subscription, dry_run_webhook_subscription.
  • Endpoints: create_webhook_endpoint, list_webhook_endpoints, test_webhook_endpoint, enable_webhook_endpoint, rotate_webhook_endpoint_secret, delete_webhook_endpoint.
  • Rules: create_webhook_subscription, list_webhook_subscriptions, update_webhook_subscription, resume_webhook_subscription, delete_webhook_subscription.
  • Watched addresses: list_webhook_watched_addresses, add_webhook_watched_address, delete_webhook_watched_address.
  • Deliveries: list_webhook_deliveries, redeliver_webhook_delivery.
Each tool carries the same rules these pages describe, so an agent configures the same thing you would. Rotating a secret and deleting an endpoint cannot be undone for a live receiver, so confirm before you let an agent run them.
The alert is live when the rule shows status active and enabled true in GET /v1/webhooks/subscriptions. The dashboard shows it as Active, with Not fired yet until the first match and Last fired after that. The estimate’s typical day tells you how often to expect a delivery; on a quiet day there may be none. Each liquidation it matches arrives at your receiver as a signed market.liquidation event and appears in the delivery log next to the test. The test needed no rule, so this alert is the only rule you created. It takes one rule from your plan’s allowance, which is eight on Build.

Next step

Add your next alert

Pick another event from the catalog: funding flips, open interest moves, oracle jumps, or the activity of a wallet you follow.
Last modified on October 6, 2026