What does a tripped circuit breaker mean?
When an agent’s circuit breaker is active, every validation request returns a403 response with blockReason: "circuit_breaker_active". All transactions are blocked until the owner resets it. There is no automatic reset. This is intentional: a circuit breaker trip is a security event that requires human investigation.
Step 1: Determine how it was tripped
There are two ways a circuit breaker trips.Manual trip
The owner activated it from the dashboard. Check the audit log for acircuit_breaker_activated event with actor: owner. This is a deliberate action, typically to pause an agent during maintenance or after observing suspicious behavior.
Auto-trip (envelope mismatch)
The envelope verifier detected that the on-chain transaction does not match the parameters validated by Mandate. This is serious. It means the agent broadcast a transaction with different parameters than what was approved. Check the audit log for acircuit_breaker_auto_tripped event. The event metadata includes:
- The validated parameters (to, calldata, value, gas)
- The on-chain parameters
- Which fields differ
Step 2: Investigate the cause
If manually tripped
Confirm with the owner why they tripped it. If it was for maintenance, you can reset it once the maintenance is complete.If auto-tripped (envelope mismatch)
This requires investigation. Common causes: Nonce collision. The agent validated a transaction, then sent a different transaction with the same nonce before broadcasting the validated one. The validated intent’s nonce was consumed by the other transaction. When the agent broadcast the validated transaction, it used a new nonce, causing a mismatch. Gas repricing. The agent re-estimated gas after validation and broadcast with different gas parameters. The envelope verifier compares exact values. Middleware modification. A signing middleware or wallet provider modified the transaction parameters between validation and broadcast. Some wallet libraries add safety margins to gas estimates. Malicious behavior. The agent intentionally broadcast a different transaction than what was validated. This is the attack the circuit breaker is designed to catch.Step 3: Reset the circuit breaker
Once you have identified and resolved the root cause:- Open the Mandate dashboard at
https://app.mandate.md. - Navigate to the agent’s detail page.
- Toggle the circuit breaker to inactive.
- Verify the agent can validate transactions again.
Step 4: Prevent future trips
- Use the SDK’s
MandateWalletclass, which handles the validate-sign-broadcast-postEvent flow atomically with consistent parameters. - Do not re-estimate gas between validation and broadcast.
- Do not modify transaction parameters after validation.
- Avoid sending other transactions between validation and broadcast if using sequential nonces.
Next Steps
Circuit Breaker Security
How the circuit breaker protects against unauthorized transactions.
Envelope Verification
How Mandate verifies on-chain transactions match validated intents.
Dashboard Circuit Breaker
Manage circuit breaker state from the dashboard.