Defense Mode complements client-side Shield rather than replacing it. Server-side validation checks what the API constructed; client-side Shield checks what you received, after it left the API. Running both covers both paths.
How it works
Defense Mode uses the same engine as the client-side library: the same validators, vault registry and calldata tamper detection (see What Shield checks). It runs in the same process as transaction construction.
yield.xyz enables Block for a project after a Monitor period on live traffic, and can switch a project back to Monitor through configuration. Every validation, allowed or failed, is logged server-side.
Yields without a registered Shield validator are currently skipped server-side rather than blocked. Check coverage with
isSupported(yieldId) (see Shield features).
Threat model
For high-value or sensitive flows, ask yield.xyz for the current list of known coverage gaps.
For integrators
When Defense Mode is enabled for your project, nothing changes in your integration code. In Block mode, a rejected transaction returns HTTP 500 with the messageTransaction blocked by security validation. The detailed reason is logged server-side and not returned, so Shield’s logic can’t be probed through error messages. If you believe a block is incorrect, contact yield.xyz with the request timestamp and your project so the reason can be looked up.
Keep validating client-side as well: see Shield integration.
Next steps
Shield overview
What Shield checks and where it runs.
Shield features
Coverage matrix and validation errors.
Shield integration
Library, binaries, and language guides.
Security deployment options
Client-side, server-side, or both.

