Skip to main content
WEBHOOK
oracle-events
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "event": "<string>",
  "data": {
    "id": "<string>",
    "hash": "<string>",
    "oracle_contract": "<string>",
    "assertion_id": "<string>",
    "domain_id": "<string>",
    "claim": "<string>",
    "asserter": "<string>",
    "callback_recipient": "<string>",
    "escalation_manager": "<string>",
    "caller": "<string>",
    "expiration_time": 1,
    "currency": "<string>",
    "bond": "<string>",
    "identifier": "<string>",
    "event_type": "AssertionMade",
    "block": 1,
    "confirmed_at": 1,
    "received_at": 1,
    "log_index": 1,
    "block_index": 1,
    "condition_id": "<string>",
    "proposed_outcome": "<string>",
    "question": "<string>",
    "image_url": "<string>",
    "slug": "<string>",
    "event_slug": "<string>"
  },
  "timestamp": 123,
  "webhook_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "attempt": 2
}

Headers

X-Webhook-ID
string<uuid>
required

UUID of the webhook subscription that fired

X-Delivery-ID
string<uuid>
required

UUID of this specific delivery attempt (matches envelope id field)

X-Event-Type
string
required

Event name string (e.g. trader_first_trade)

X-Attempt
integer
required

Delivery attempt number (1 = first attempt)

Required range: x >= 1
X-Webhook-Signature
string

HMAC-SHA256 of the raw request body: sha256=<hex>. Present only when the webhook has a secret configured. Verify with: HMAC-SHA256(secret, raw_body_bytes) == hex_part.

Pattern: ^sha256=[0-9a-f]{64}$

Body

application/json

Webhook delivery envelope. The data field contains the event-specific payload.

Outer envelope for every webhook HTTP POST delivery. The data field contains the event-specific payload. Delivery headers sent with every POST: X-Webhook-ID (subscription UUID), X-Delivery-ID (this attempt's UUID), X-Event-Type (event name string, e.g. trader_first_trade), X-Attempt (attempt number, 1-indexed). When the webhook has a secret configured, X-Webhook-Signature: sha256=<hmac-hex> is also included — compute HMAC-SHA256 over the raw request body using your secret to verify.

id
string<uuid>
required

UUID of this specific delivery attempt (matches X-Delivery-ID header)

event
string
required

Event name (e.g. trader_first_trade). On test deliveries the suffix _test is appended.

data
AssertionMade · object
required

Tagged enum for all oracle event types — serializes with "event_type": "..." discriminator and only includes fields relevant to each type.

timestamp
integer<int64>
required

Unix timestamp in milliseconds when this delivery was created

webhook_id
string<uuid>
required

UUID of the webhook subscription that fired (matches X-Webhook-ID header)

attempt
integer
required

Delivery attempt number. 1 = first attempt; increments on each retry.

Required range: x >= 1

Response

Webhook delivery acknowledged

Last modified on April 25, 2026