Skip to content

Transaction state change

POST

When a transaction changes state, XKOVA POSTs a signed event to your configured webhook URL. Each delivery carries an X-Xkova-Signature header — the hex Ed25519 signature over the exact request body. Verify it against XKOVA’s published webhook public key before trusting the payload. Delivery is at-least-once, so treat events idempotently (tx_id + state).

object
type
required

E.g. transaction.confirmed, transaction.failed

string
org_id
required
string
tx_id
required
string
state
required

The transaction’s new state (see Transaction.state)

string
tx_hash
string
ts
required

Unix seconds

integer
Example
{
"type": "transaction.confirmed",
"org_id": "org_2a7f",
"tx_id": "tx_5c19",
"state": "confirmed",
"tx_hash": "0xabc…",
"ts": 1757068800
}

Return any 2xx to acknowledge. Non-2xx (or a timeout) is retried.