Valta Docs

Introduction

Currently in public beta. Free for all users. No credit card required.

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.

Beta feature status

FeatureStatus
Agent walletsAvailable
Spending policiesAvailable
Audit trailAvailable
API keys + SDKAvailable
USDC deposits (Circle)Available
Marketplace (7 agents)Available
AutomationsComing Q3 2026
WebhooksComing Q3 2026
x402 PaymentsComing Q4 2026
Agent-to-Agent HiringComing Q4 2026
Trust ScoreComing Q4 2026
Python SDKComing 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