Valta Docs

Introduction

Valta is financial governance infrastructure for autonomous AI agents. Give your agents isolated wallets, spending limits, kill switches, and a tamper-evident audit trail. Every action governed by policy, not trust.

What Valta provides

Isolated agent wallets — each agent gets its own USDC wallet. One agent cannot access another's balance.

Spending policies — define daily limits, per-transaction caps, blocked categories. Enforced in code before money moves. Not in the prompt.

Kill switch — freeze any agent instantly with one API call. Financial activity stops immediately.

Tamper-evident audit trail — cryptographic hash chain. Every action logged. Nothing deleted.

SDK + REST API — TypeScript SDK with full type safety. REST API for any language.

Feature status

FeatureStatus
Agent walletsAvailable
Spending policiesAvailable
Audit trailAvailable
API keys + SDKAvailable
Deposits (fiat card + crypto USDC)Available
Marketplace (7 agents)Available
Automations (dashboard + SDK/API)Available
Webhooks (dashboard + SDK/API)Available
Trust Score (public on marketplace)Available
Agent-to-Agent Hiring (Enterprise plan)Available
Python SDKAvailable — pip install valta-python-sdk
x402 PaymentsComing Q4 2026
Virtual CardsComing 2027
Agora MarketplaceComing 2027

Quick example

Create a governed agent, set a spending policy, and run it.

ts
import { ValtaClient } from 'valta-sdk'

const valta = new ValtaClient({
  apiKey: process.env.VALTA_API_KEY,
})

// Create a governed agent
const agent = await valta.agents.create({
  name: 'CFO Agent',
  description: 'Monitors wallet balances and reports on spending',
})

// Set a spending policy
await valta.policies.create({
  agentId: agent.id,
  dailyLimit: 50,
  maxPerTransaction: 10,
  requireApprovalAbove: 25,
})

// Run the agent
const run = await valta.agents.run(agent.id, {
  task: 'Check my wallet balance and summarise it in one sentence.',
})

console.log('Status:', run.status)    // 'completed'
console.log('Output:', run.summary)

// Read the audit trail
const { data: entries } = await valta.audit.list({ agentId: agent.id })
console.log(`${entries.length} audit entries logged`)

Where to go next