Skip to content

Payload Reference

Detailed payload schemas for each webhook event type.

Every webhook delivery wraps the event-specific data in a standard envelope:

json
{
  "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.

json
{
  "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

FieldTypeDescription
receiptIdstringProof root hash that serves as the unique receipt for this verified delta
deltaIndexinteger | nullGlobal sequence number, or null if not yet assigned
statusstringVerification status — always "verified" for this event
verifiedAtstringISO 8601 timestamp of when verification completed
verificationIdstringIdentifier for the verification confirmation

delta object

Present when the original delta context is available. Contains the business data you submitted.

FieldTypeDescription
customerIdstring | nullYour customer identifier
amountnumber | nullThe delta amount (positive or negative)
reasonstring | nullReason code for the delta
referenceIdstring | nullYour external reference identifier
metadataobjectArbitrary metadata you attached to the delta
submittedAtstring | nullISO 8601 timestamp of when the delta was submitted

proof object

FieldTypeDescription
proofHashstringProof root covering this delta
contentHashstring | nullHash of this individual delta's content
itemHashesstring[]All content hashes in the verification set
previousProofHashstring | nullProof hash of the preceding record (forms the verification chain)

verification object

FieldTypeDescription
verifiedbooleanWhether cross-verification passed
latencyMsintegerTime from submission to verification in milliseconds (present when submittedAt is known)
discrepanciesstring[]List of any discrepancies found (empty when verified)

period object (conditional)

Included when period enrichment is available.

FieldTypeDescription
idstringPeriod identifier in YYYY-MM format
deltaCountintegerTotal deltas in the current period so far
netDeltanumberNet sum of all delta amounts in the period

usage object (conditional)

Included when plan information is available.

FieldTypeDescription
planstringCurrent plan name
includedDeltasintegerTotal deltas included in the plan
consumedDeltasintegerDeltas used so far this period
remainingDeltasintegerDeltas remaining before overage
overageRatestringCost 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.

json
{
  "event": "delta.stored",
  "timestamp": "2026-02-11T10:30:15.789Z",
  "data": {
    "startIndex": "0",
    "count": "12",
    "verificationId": "0xabc123...",
    "verifiedAt": "2026-02-11T10:30:15.000Z"
  }
}
FieldTypeDescription
startIndexstringStarting index of the stored items
countstringNumber of items stored
verificationIdstringVerification confirmation identifier
verifiedAtstringISO 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.

json
{
  "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."
  }
}
FieldTypeDescription
fromIndexstringStarting delta index covered by this checkpoint
toIndexstringEnding delta index covered by this checkpoint
proofHashstringSingle proof root covering all deltas in the range
verifiedAtstringISO 8601 timestamp of verification
verificationIdstringVerification confirmation identifier
messagestringGuidance on how to use the proof hash

fact.verified

Fired when a fact has been committed and verified.

json
{
  "event": "fact.verified",
  "timestamp": "2026-02-11T14:22:33.100Z",
  "data": {
    "contentHash": "0x3e5a7c9b1d3f5a7c9b1d3f5a7c9b1d3f5a7c9b1d3f5a7c9b1d3f5a7c9b1d3f",
    "proofHash": "0xf0e1d2c3b4a5f0e1d2c3b4a5f0e1d2c3b4a5f0e1d2c3b4a5f0e1d2c3b4a5f0e1",
    "verifiedAt": "2026-02-11T14:22:33.000Z",
    "verificationId": "0xabc123..."
  }
}
FieldTypeDescription
contentHashstringHash of the fact data
proofHashstringProof hash for the verification
verifiedAtstringISO 8601 timestamp of verification
verificationIdstringVerification confirmation identifier

record.transferred

Fired when ownership of a record has been transferred and the transfer has been verified.

json
{
  "event": "record.transferred",
  "timestamp": "2026-02-11T16:45:00.000Z",
  "data": {
    "receiptId": "a_1234567890",
    "verifiedAt": "2026-02-11T16:45:00.000Z",
    "verificationId": "0xabc123..."
  }
}
FieldTypeDescription
receiptIdstringIdentifier for the transferred record
verifiedAtstringISO 8601 timestamp of transfer verification
verificationIdstringVerification confirmation identifier

Next Steps