Mandate revocation failed
Triggered when a wallet revocation fails. mandate.status becomes revocation_failed. The spending allowance was not removed, so the mandate remains usable if it was usable before the attempt (revokedAt stays unset). Inspect revocation.error for the reason, then retry with a new wallet revocation.
Authorizations
HMAC-SHA256 signature of the raw request body, computed using your webhook secret. Webhook receivers should always verify this header before processing the event. The header value is hex-encoded and prefixed by the algorithm and timestamp, e.g. t=1700000000,v1=abc123... (refer to the Webhook Security docs for the exact verification algorithm).
This scheme applies to webhook delivery (outbound POSTs from CDP to your endpoint), not to inbound CDP API requests.
Body
The acceptance.mandate.revocation_failed webhook event payload.
The acceptance.mandate.revocation_failed event. data carries the full mandate and the failed revocation, including its error. mandate.status becomes revocation_failed; the allowance was not removed (revokedAt stays unset), so the mandate stays usable if it was usable before. Retry with a new wallet revocation.
Unique identifier for this webhook event. Use this for idempotency.
"123e4567-e89b-12d3-a456-426614174000"
When this event occurred (ISO 8601 format).
"2025-06-01T12:00:00Z"
The data payload for every mandate webhook event. Always contains the full mandate. Action events also carry the relevant sub-resource: approval on the three approval_* events, revocation on the three revocation_* events. The created and canceled events carry only the mandate.
mandate.status reflects only the latest action. Read mandate.canceledAt and mandate.revokedAt to know what has durably happened: the on-chain spending allowance is gone precisely when revokedAt is set, and canceling alone does not remove it.
The type of webhook event.
acceptance.mandate.revocation_failed "acceptance.mandate.revocation_failed"
Response
Webhook received and processed successfully.