Skip to main content
VaultKit errors share a common base class and stable error code. Catch the base class for unified logging, or a subclass when retry behavior matters. NewtonShieldError remains as a compatibility alias, but new code should import ShieldError.

Error Classes

Decoded Contract Errors

When a Shield transaction reverts, the SDK decodes Shield custom errors and exposes them on ShieldExecutionError.decoded:
Common onchain causes include InvalidAttestation, IntentMismatch, NotApprovedDelegate, IntentExecutionFailed, BypassNotReady, BypassUnknown, BypassAlreadyQueued, BypassDelayBelowMinimum, and target vault reverts.

Failed Task Diagnostics

NewtonTaskEvaluationError.message carries the gateway’s top-level summary, which can be less actionable than the operator-level detail. Always inspect the raw gateway result’s operator_errors[] before deciding a failure is transient. For example, a top-level “Quorum not reached” summary can still include a deterministic operator error such as:
In that case, retrying will not help. The fix is to align the onchain composite params schema with the manifest envelope { "_manifest", "modules", "params" } and nest pack params under params.<short-id>.

Retry Pattern

Log code, message, and cause together. The code is stable enough for alerts; the cause is what engineers need for diagnosis.