The three levels
All three are instant on the live path (though cached tokens may take up to 60 seconds to fully expire — see auth caveats).
Level 1: Freeze
Safe, reversible, preserves forensic capability. The agent stays logged in, can read data, can emit events — it just can’t move money.- All spending attempts return
403 WALLET_FROZEN - Streams pause (no accrual)
- Scheduled transfers fail at their scheduled time
- Agent can still authenticate, read balances, receive SSE events
- Audit log preserved
Level 2: Revoke auth key
Confirmed compromise. The agent (or an attacker with the agent’s credentials) can no longer authenticate.- All active
sess_*tokens invalidated - Ed25519 public key removed — challenge-response fails
- Agent token (
agent_*) remains valid (it’s a separate credential) — rotate it too if compromise is suspected at that level:
Level 3: Terminate
Last resort. Permanent.- Agent record marked
revoked(tombstoned for audit) - All credentials revoked
- Wallets disassociated (funds remain — terminating an agent does not forfeit funds)
- Policy, mandates, streams cancelled
Kill-switch operator
For Tier 3 (Trusted) agents, Sly requires a named kill-switch operator — a human who can execute these actions. The operator’s contact is recorded in the agent’s policy:Automated freezes
Sly can auto-freeze an agent on certain signals:- Velocity violations — too many transactions in too short a window
- Policy-drift alerts — sudden behavior change compared to baseline
- External signals — integrated threat feeds (sanctions list hits, known-bad addresses)
- Customer-initiated — one-click freeze from the Sly dashboard
Incident runbook
When something looks wrong:1
Freeze the wallet
POST /v1/agent-wallets/:id/freeze — stops further spending.2
Query the evaluation log
GET /v1/agent-wallets/:id/evaluations — see what the agent was attempting and what was allowed vs. blocked.3
Read recent transfers
GET /v1/agents/:id/transactions — audit what actually executed.4
Decide
If the behavior was intended (new deployment, new merchant): unfreeze. If not, revoke auth and investigate.
5
Restore or terminate
Either provision a new keypair and resume, or terminate the agent.