Agents
Agents that cannot overspend.
Give an agent a TWAP swap or a recurring payment. A server-side policy checks every run, and an on-chain spending limit caps what it can ever move.
Execution
Two checks on every run.
The policy is the rule you write. The spending limit is the rule the chain enforces even if everything else fails.
Daily cap
On-chain
Step 1
Objective
A TWAP swap or recurring payment. An optional note is sealed on your device.
twap_swap · 5 slices
Step 2
Policy check
The server evaluates your policy before every run. Above a threshold, you sign.
Policy ✓ · within limits
Step 3
Spending limit
Squads enforces the daily cap on-chain. The agent key cannot exceed it.
Daily cap · on-chain
Step 4
Settled
The swap or payment lands on Solana. An encrypted report reaches you.
Confirmed · reported
Report
Encrypted
Policies
Limits the agent cannot talk its way past.
Policy rules run on the server before every execution. The daily limit is also written on-chain as a Squads spending limit, which is the hard cap. Above your approval threshold, nothing moves until you sign.
Payments agent policy
ExampleDaily spending limit
Also set on-chain as a Squads spending limit
Allowed assets
Anything else is blocked
Max single transaction
Per run
Require approval above
You sign the vault transaction first
Accounts
Every agent gets its own vault.
Its own smart account
Each agent spends from a Squads vault that you fund and withdraw from. Vault balances are public on-chain, like any Solana account.
A hard daily cap
Squads spending limits cap what the agent key can move per day, per token. The program enforces it, not our server.
A separate key
The agent key is generated on our server and stored encrypted at rest. Your wallet key never touches the agent.
- Confidential
- Private notes on objectives, sealed on your device before upload.
- Readable by our server
- Agent reports to you. They are encrypted, but with an agent key the server holds.
- Public on-chain
- Vault balances, swaps, payments, spending limits and their timing.
Economics
We charge for execution, not for thinking.
Agent runs cost 0.1% of executed volume, collected on-chain with each run. Creating agents, editing policies and reading reports cost nothing.
The same agent, from code.
Today agents are created and managed in the app. This is the SDK shape we are building toward, backed by the same routes.
import { previewPolicy, type PrivateAgent } from "@privatly/sdk";
// Same evaluation the server runs before every agent execution.
const decision = previewPolicy(policy, {
amountUsd: 120,
asset: "USDC",
category: "payments",
spentTodayUsd: 300,
});
// Target shape, backed today by /api/agents/** in the app.
const agent: PrivateAgent = await agents.get(agentId);
await agent.addObjective({
kind: "recurring_payment",
asset: "USDC",
amount: 120,
recipient: vendor,
intervalDays: 7,
maxRuns: 12,
});Set the limit first.
Start with one agent on the free plan. Fund its vault with what it may spend, nothing more.