The wallet was credited outside the order flow

Fires when your workspace wallet's available balance increases outside the order lifecycle,
and data.source says how: deposit — a confirmed deposit to one of the workspace's addresses was
credited; payment — Xegora recorded a payment received for your workspace; adjustment — Xegora
credited the wallet itself to put something right (a goodwill or correcting credit that two of its
operators approved), and data.reference is the adjustment's adj_… reference. A debit Xegora
makes to correct a wallet is not announced, nor is a cashback credit; order refunds are announced by
order.refunded, not by this event.

data.amount is the credited delta and data.availableBalance the balance immediately
after it. Balances move concurrently, so treat availableBalance as a snapshot at
data.occurredAtUtc — GET /api/v1/wallet/balance is the live source of truth.
data.movementId is the wallet statement line (GET /api/v1/wallet/movements) the credit is;
for a deposit, that line names the deposit.

Delivery contract — every Xegora webhook is delivered the same way; see order.processing.

Payload

Envelope for wallet.credited — the wallet's available balance increased outside the order flow: a credited deposit, a payment recorded by Xegora, or a goodwill or correcting credit Xegora made to the wallet. Order refunds are announced by order.refunded instead.

uuid
required

Stable event id (UUID), derived from the wallet movement and the event type. The X-Xegora-Event-Id header carries the same value without dashes — dedupe on the header form.

const
enum
required
Allowed:
date-time
required
data
object
required
Headers
string
required
^[0-9a-f]{32}$

The event's stable unique id — your deduplication key, identical on every retry. It is the envelope's id without dashes (32 lowercase hex characters), and it is the exact string signed inside X-Xegora-Signature.

string
required
^[0-9]+$

Unix seconds at signing time — your freshness check. Reject deliveries more than 5 minutes from your clock.

string
required
^v1=[0-9a-f]{64}$

v1= followed by 64 lowercase hex characters: HMAC-SHA256 over the UTF-8 string {X-Xegora-Timestamp}.{X-Xegora-Event-Id}.{raw body}, keyed with your endpoint's xgwh_… signing secret. Verify over the raw request bytes with a constant-time comparison.

const
enum
required

The delivery-contract version — currently always xegora-webhook-at-least-once-v1.

Allowed:
Response
200

Acknowledged — any 2xx accepts the event. Non-2xx responses and timeouts trigger the retry schedule described under order.processing.

LoadingLoading…