All workflows

Delta Witness

Produce a tamper-evident before/after change witness with SHA-256 hashes and bounded field-level deltas.

1 credit per call · $0.003 USDC with x402

Sample input

{
  "before": {
    "status": "open",
    "price": 10
  },
  "after": {
    "status": "closed",
    "price": 12
  }
}

Worked sample output

{
  "ok": true,
  "mode": "delta_witness",
  "changed": true,
  "before_sha256": "c6a3e41eb38bec743730cdceaa6715ec3f8ea45d2be717b1dcab7b7fbba011e1",
  "after_sha256": "97bcf68fe8fda0941ccb119acdd65f20c536b3154d3b5ffdccd70b6e04e23891",
  "change_count": 2,
  "changes": [
    {
      "path": "/price",
      "type": "replace",
      "before": 10,
      "after": 12
    },
    {
      "path": "/status",
      "type": "replace",
      "before": "open",
      "after": "closed"
    }
  ],
  "truncated": false
}

Worked example using published sample data only. Own-data execution is paid.

Connect in curl

Set BOUNTY_API_KEY privately after your payment is verified. Change the retry key for each new logical request.

curl 'https://bounty-engineer-x402-prod.onrender.com/v1/prepaid/delta-witness' \
  -H "Authorization: Bearer $BOUNTY_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: workflow-request-001' \
  -H 'X-Max-Credits: 1' \
  --data '{"before":{"status":"open","price":10},"after":{"status":"closed","price":12}}'

Connect in n8n

Download the inactive n8n template. Import it, configure the private Header Auth credential, inspect the sample and run it manually. A new execution creates a new billable request; there is no automatic schedule.

Use an HTTP POST to https://bounty-engineer-x402-prod.onrender.com/v1/prepaid/delta-witness. Send JSON and these headers; store the Bearer token as a private credential.

{
  "method": "POST",
  "headers": {
    "Authorization": "Bearer YOUR_PRIVATE_API_KEY",
    "Content-Type": "application/json",
    "Idempotency-Key": "UNIQUE_PER_LOGICAL_REQUEST",
    "X-Max-Credits": "1"
  },
  "body": {
    "before": {
      "status": "open",
      "price": 10
    },
    "after": {
      "status": "closed",
      "price": 12
    }
  }
}

Reuse a retry key only for the same input. Failed execution returns reserved credits. Full integration and recovery guide · Machine-readable recipe