Skip to content
Privatly

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

  1. Step 1

    Objective

    A TWAP swap or recurring payment. An optional note is sealed on your device.

    twap_swap · 5 slices

  2. Step 2

    Policy check

    The server evaluates your policy before every run. Above a threshold, you sign.

    Policy ✓ · within limits

  3. Step 3

    Spending limit

    Squads enforces the daily cap on-chain. The agent key cannot exceed it.

    Daily cap · on-chain

  4. 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

Example

Daily spending limit

Also set on-chain as a Squads spending limit

$1,000

Allowed assets

Anything else is blocked

SOL · USDC

Max single transaction

Per run

$250

Require approval above

You sign the vault transaction first

$150

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.

SDK in development

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.

Agent docs
agent.ts
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.