Wallet and signer policy layers are in early access. Talk to us if you’d like to participate.
waas.policy.violation webhook event whenever a transaction is blocked by your configured policy rules. This event provides detailed information about what was blocked and why, making it invaluable for monitoring security, debugging rules, and discovering which addresses your users need to interact with.
Use Cases
- Building Allow-Only Rules: The webhook includes all counterparties involved in a transaction, helping you identify which addresses to add to your allowlist
- Security Monitoring: Track blocked transactions and identify potential threats or unusual activity
- Rule Debugging: Understand why legitimate transactions are being blocked and adjust rules accordingly
- Audit Trail: Maintain a complete log of all policy violations for compliance and security review
Event Payload
The webhook payload structure varies based on the violation type. Below are the fields you can expect:Always Present
Conditionally Present
The following fields may be included depending on the violation type and context:Example Payloads
Below are examples of policy violation webhooks for different violation types:Address Denied Violation
When a transaction is blocked due to an address not being on the allowlist:Value Limit Exceeded Violation
When a transaction exceeds the configured value limit for an asset:Security Risk Malicious Violation
When a transaction is identified as malicious during security validation:Violation Types
ThereasonCode field indicates the type of policy violation. The webhook payload structure varies based on the violation type, but always includes the core fields needed to understand what was blocked and why.
Address-Related Violations
address_denied: Transaction blocked because an address is explicitly denied or not on the allowlist- Additional fields:
deniedAddresses,counterparties,operationType,chainId
- Additional fields:
address_not_allowed: Transaction blocked because address is not explicitly allowed in an allowlist-only configuration- Additional fields:
notAllowedAddresses,counterparties,operationType,chainId
- Additional fields:
Value Limit Violations
value_limit_exceeded: Transaction blocked because it exceeds the configured value limit- Additional fields:
asset(address, type, symbol),maxPerCallLimit,totalOutgoingValue,operationType,chainId
- Additional fields:
Security Validation Violations
security_validation_failed: Transaction simulation failed during security validation- Additional fields:
simulationStatus,operationType,chainId
- Additional fields:
security_risk_malicious: Transaction identified as malicious by security validation- Additional fields:
counterparties,validationResultType,operationType,chainId
- Additional fields:
Message Format Violations
invalid_message_format: Message format validation failed (EVM personal message, EIP-712, UserOperation, or SVM transaction/message format issues)
Setting Up Webhooks
To receive policy violation events, configure a webhook endpoint in your Developer Dashboard and subscribe to thewaas.policy.violation event. For more information on webhook setup and signature validation, see the webhooks documentation.
Next steps
Policies & Rules Overview
Review the security model, allowlist mode, and rule fields.
Creating & Managing Rules
Set rules in the dashboard or API.