curl --request GET \
--url https://api.0xarchive.io/v1/webhooks/event-types \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/webhooks/event-types"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.0xarchive.io/v1/webhooks/event-types', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.0xarchive.io/v1/webhooks/event-types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"success": true,
"data": [
{
"type": "market.liquidation",
"schema_version": 1,
"live": true,
"scope": "public",
"venues": [
"hyperliquid",
"hip3",
"lighter"
],
"filters": [
"venue",
"symbols"
],
"params": {},
"metrics": {},
"latency_class": "seconds",
"description": "A liquidation on a covered venue.",
"cost_floor": {
"metric": "notional_usd",
"min": 100
},
"filters_example": {},
"operators": {}
}
]
}{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}{
"code": 429,
"error": "Rate limit exceeded"
}List webhook event types
0xArchive API reference for List webhook event types. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.
curl --request GET \
--url https://api.0xarchive.io/v1/webhooks/event-types \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/webhooks/event-types"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.0xarchive.io/v1/webhooks/event-types', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.0xarchive.io/v1/webhooks/event-types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"success": true,
"data": [
{
"type": "market.liquidation",
"schema_version": 1,
"live": true,
"scope": "public",
"venues": [
"hyperliquid",
"hip3",
"lighter"
],
"filters": [
"venue",
"symbols"
],
"params": {},
"metrics": {},
"latency_class": "seconds",
"description": "A liquidation on a covered venue.",
"cost_floor": {
"metric": "notional_usd",
"min": 100
},
"filters_example": {},
"operators": {}
}
]
}{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}{
"code": 429,
"error": "Rate limit exceeded"
}X-API-Key with this request. See REST authentication.Shared request rules
Shared request rules
Machine schema
Machine schema
Authorizations
API key for authentication. Get yours at https://0xarchive.io/dashboard
Response
The served webhook event catalog
API response containing the served webhook event catalog.
true
Hide child attributes
Hide child attributes
Event type identifier. Send this as event_type when creating a subscription.
"market.liquidation"
Version of the delivered payload shape for this event type.
1
True when the type accepts subscriptions. A type that is published but not yet live is refused at create time.
true
Who the event is about. public is market wide, user is your own account and platform activity, and addresses reports only on wallets on your watched list.
public, user, addresses "public"
Venues the type covers. Empty when the type is not venue scoped.
["hyperliquid", "hip3", "lighter"]
Filter keys the subscription config accepts for this type. A key that is not listed here is refused rather than ignored.
["venue", "symbols"]
Tunable parameters, keyed by parameter name.
Hide child attributes
Hide child attributes
A tunable parameter declared by an event type. Values sent under params are validated against this declaration, and any declared parameter left unset is stored at its default.
Hide child attributes
Hide child attributes
Value type the parameter accepts.
integer, number, string, array_of_number "integer"
Unit the value is expressed in, when it has one.
"s"
Value used when the parameter is not supplied.
3600
Lowest accepted value, when the parameter is bounded below.
60
Highest accepted value, when the parameter is bounded above.
86400
Accepted values, when the parameter is a fixed choice.
What the parameter changes.
Metrics carried by the event, keyed by metric name. A condition may only reference a metric declared here.
Hide child attributes
Hide child attributes
A metric an event carries, and therefore a metric a subscription condition may be written against.
Hide child attributes
Hide child attributes
Value type of the metric. It decides which operators a condition on this metric may use.
number, integer, string, boolean, timestamp "number"
Unit the metric is expressed in, when it has one.
"USD"
Accepted values, when the metric is a fixed choice. Conditions are checked against this list.
What the metric measures, including when it is null.
Rough delivery latency for the type, measured from the occurrence to the first delivery attempt.
seconds, minutes "seconds"
What the event reports and what one occurrence means.
"A liquidation on a covered venue."
A worked example of a config for this type.
Was this page helpful?