Valta Docs

Kill Switch

The kill switch instantly stops all financial activity for an agent. It is not queued — the freeze takes effect immediately. No transactions can execute while an agent is frozen.

Freeze an agent

ts
const result = await valta.agents.freeze(agentId)
// result.status === 'frozen'
// All subsequent run attempts return AGENT_FROZEN error

Unfreeze an agent

ts
const result = await valta.agents.unfreeze(agentId)
// result.status === 'active'

What happens when an agent is frozen

  • Run attempts return an AGENT_FROZEN error immediately
  • No transactions can be initiated or completed
  • The audit trail remains fully readable
  • The spending policy remains intact and accessible
  • The wallet balance is preserved — funds are not moved or locked

CLI

bash
valta agents freeze <agent-id>
valta agents unfreeze <agent-id>

Bulk freeze all active agents

Use this in an incident response scenario where you need to stop all agent activity immediately.

ts
const { data: agents } = await valta.agents.list({ status: 'active' })
await Promise.all(agents.map(a => valta.agents.freeze(a.id)))
console.log(`Froze ${agents.length} agents`)

Note: Freezing does not delete anything. The audit trail, policy, and wallet balance are all preserved. You can unfreeze and resume at any time.

When to use the kill switch

  • Suspected compromise — unusual spending patterns or unexpected transactions
  • Prompt injection detected — audit trail shows injection_attempt_blocked entries
  • Maintenance window — pause agents while updating integration code
  • End of project — freeze before decommissioning to preserve the audit trail