Payload Reference
Detailed payload schemas for each webhook event type.
Every webhook delivery wraps the event-specific data in a standard envelope:
{
"event": "<event_type>",
"timestamp": "2026-02-11T10:30:00.000Z",
"data": { ... }
}
Below are the full payload schemas for each event type.
delta.verified
The primary webhook event. Fired after each delta is independently verified. Contains the proof packet, original delta context, verification results, and optional period and usage information.
{
"event": "delta.verified",
"timestamp": "2026-02-11T10:30:12.456Z",
"data": {
"receiptId": "0x8f3a9b2c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f",
"deltaIndex": null,
"status": "verified",
"verifiedAt": "2026-02-11T10:30:12.000Z",
"verificationId": "0xabc123...",
"delta": {
"customerId": "cust_8xKj2m",
"amount": -42.50,
"reason": "usage_charge",
"referenceId": "inv_20260211_001",
"metadata": {
"plan": "growth",
"region": "us-east-1"
},
"submittedAt": "2026-02-11T10:30:00.000Z"
},
"proof": {
"proofHash": "0x8f3a9b2c1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f",
"contentHash": "0x2d4e7f1a3b5c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d",
"itemHashes": [
"0x2d4e7f1a3b5c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d",
"0x9f1a3c5e7b2d4f6a8c0e1b3d5f7a9c2e4b6d8f0a1c3e5b7d9f2a4c6e8b0d1f"
],
"previousProofHash": "0x1c7b2e4a6d8f0b3c5e7a9d1f3b5c7e9a2d4f6b8c0e2a4d6f8b1c3e5a7d9f0b"
},
"verification": {
"verified": true,
"latencyMs": 1204,
"discrepancies": []
},
"period": {
"id": "2026-02",
"deltaCount": 1042,
"netDelta": 0
},
"usage": {
"plan": "growth",
"includedDeltas": 500000,
"consumedDeltas": 1042,
"remainingDeltas": 498958,
"overageRate": "$0.010/delta"
}
}
}
Field Reference
Top-level fields
| Field | Type | Description |
|---|---|---|
receiptId | string | Proof root hash that serves as the unique receipt for this verified delta |
deltaIndex | integer | null | Global sequence number, or null if not yet assigned |
status | string | Verification status — always "verified" for this event |
verifiedAt | string | ISO 8601 timestamp of when verification completed |
verificationId | string | Identifier for the verification confirmation |
delta object
Present when the original delta context is available. Contains the business data you submitted.
| Field | Type | Description |
|---|---|---|
customerId | string | null | Your customer identifier |
amount | number | null | The delta amount (positive or negative) |
reason | string | null | Reason code for the delta |
referenceId | string | null | Your external reference identifier |
metadata | object | Arbitrary metadata you attached to the delta |
submittedAt | string | null | ISO 8601 timestamp of when the delta was submitted |
proof object
| Field | Type | Description |
|---|---|---|
proofHash | string | Proof root covering this delta |
contentHash | string | null | Hash of this individual delta's content |
itemHashes | string[] | All content hashes in the verification set |
previousProofHash | string | null | Proof hash of the preceding record (forms the verification chain) |
verification object
| Field | Type | Description |
|---|---|---|
verified | boolean | Whether cross-verification passed |
latencyMs | integer | Time from submission to verification in milliseconds (present when submittedAt is known) |
discrepancies | string[] | List of any discrepancies found (empty when verified) |
period object (conditional)
Included when period enrichment is available.
| Field | Type | Description |
|---|---|---|
id | string | Period identifier in YYYY-MM format |
deltaCount | integer | Total deltas in the current period so far |
netDelta | number | Net sum of all delta amounts in the period |
usage object (conditional)
Included when plan information is available.
| Field | Type | Description |
|---|---|---|
plan | string | Current plan name |
includedDeltas | integer | Total deltas included in the plan |
consumedDeltas | integer | Deltas used so far this period |
remainingDeltas | integer | Deltas remaining before overage |
overageRate | string | Cost per delta beyond the included amount (e.g., "$0.010/delta") |
delta.stored
Fired when delta hashes have been permanently committed to the verification layer.
{
"event": "delta.stored",
"timestamp": "2026-02-11T10:30:15.789Z",
"data": {
"startIndex": "0",
"count": "12",
"verificationId": "0xabc123...",
"verifiedAt": "2026-02-11T10:30:15.000Z"
}
}
| Field | Type | Description |
|---|---|---|
startIndex | string | Starting index of the stored items |
count | string | Number of items stored |
verificationId | string | Verification confirmation identifier |
verifiedAt | string | ISO 8601 timestamp of storage confirmation |
checkpoint.verified
Fired when a period-end checkpoint has been committed and verified. The proof hash locks all verified deltas within the range.
{
"event": "checkpoint.verified",
"timestamp": "2026-02-28T23:59:59.999Z",
"data": {
"fromIndex": "0",
"toIndex": "9847",
"proofHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"verifiedAt": "2026-02-28T23:59:59.000Z",
"verificationId": "0xabc123...",
"message": "Period-end checkpoint verified. Include proofHash in invoices for counterparty verification."
}
}
| Field | Type | Description |
|---|---|---|
fromIndex | string | Starting delta index covered by this checkpoint |
toIndex | string | Ending delta index covered by this checkpoint |
proofHash | string | Single proof root covering all deltas in the range |
verifiedAt | string | ISO 8601 timestamp of verification |
verificationId | string | Verification confirmation identifier |
message | string | Guidance on how to use the proof hash |
fact.verified
Fired when a fact has been committed and verified.
{
"event": "fact.verified",
"timestamp": "2026-02-11T14:22:33.100Z",
"data": {
"contentHash": "0x3e5a7c9b1d3f5a7c9b1d3f5a7c9b1d3f5a7c9b1d3f5a7c9b1d3f5a7c9b1d3f",
"proofHash": "0xf0e1d2c3b4a5f0e1d2c3b4a5f0e1d2c3b4a5f0e1d2c3b4a5f0e1d2c3b4a5f0e1",
"verifiedAt": "2026-02-11T14:22:33.000Z",
"verificationId": "0xabc123..."
}
}
| Field | Type | Description |
|---|---|---|
contentHash | string | Hash of the fact data |
proofHash | string | Proof hash for the verification |
verifiedAt | string | ISO 8601 timestamp of verification |
verificationId | string | Verification confirmation identifier |
record.transferred
Fired when ownership of a record has been transferred and the transfer has been verified.
{
"event": "record.transferred",
"timestamp": "2026-02-11T16:45:00.000Z",
"data": {
"receiptId": "a_1234567890",
"verifiedAt": "2026-02-11T16:45:00.000Z",
"verificationId": "0xabc123..."
}
}
| Field | Type | Description |
|---|---|---|
receiptId | string | Identifier for the transferred record |
verifiedAt | string | ISO 8601 timestamp of transfer verification |
verificationId | string | Verification confirmation identifier |
Next Steps
- Signature Verification — Authenticate webhook payloads
- Autonomous Agent Pattern — Build agents that react to these events