Confidential amounts
Balances and payment amounts are encrypted on-chain. Observers see that a payment happened, not how much moved.
Live on Solana devnetConfidential x402 / USDC
Astraea gives SI agents a confidential budget the chain itself enforces. Amounts, limits and counterparties stay encrypted, every payment is held until delivery, and unspent funds keep earning.
Amounts, limits and counterparties stay encrypted. Zero-knowledge proofs show each payment follows the rules.
Caps, ceilings and allowlists live in a Solana program. An agent physically cannot sign past them.
Every USDC payment waits in escrow until the provider delivers — and can be disputed if they don’t.
Unspent budget sits in Meteora vaults, earning until the moment an agent needs it.
Agent mandates, USDC, x402, Confidential transfers, ZK proofs, Escrow, Meteora vaults, Solana
/01Privacy
Rules being on-chain shouldn’t mean your agent’s spending is. Astraea proves every payment follows the mandate while keeping amounts, limits and counterparties out of public view.
Valid proofs, unlinkable addresses, encrypted amounts. No principal, no provider, no total.
Balances and payment amounts are encrypted on-chain. Observers see that a payment happened, not how much moved.
Limits are stored as a commitment. Each payment carries a zero-knowledge proof that it fits the rules, without revealing them.
Agents pay from one-time addresses, so providers can’t join payments together into a profile of the principal.
Principals hold a viewing key. Share it with an auditor or accountant — scoped to one mandate — and revoke it later.
Disclosure matrix
| Data | Chain observer | Provider | Resolver | Principal |
|---|---|---|---|---|
| Payment amount | HiddenHidden | VisibleVisible | VisibleVisible | VisibleVisible |
| Mandate limits | Proof onlyProof only | Proof onlyProof only | HiddenHidden | VisibleVisible |
| Remaining balance | HiddenHidden | HiddenHidden | HiddenHidden | VisibleVisible |
| Principal identity | HiddenHidden | HiddenHidden | HiddenHidden | VisibleVisible |
| Spend across providers | HiddenHidden | HiddenHidden | HiddenHidden | VisibleVisible |
| Dispute evidence | HiddenHidden | VisibleVisible | VisibleVisible | VisibleVisible |
Resolvers only receive amounts and evidence for payments that are actually disputed.
/02Mission
An agent’s good intentions aren’t a control. A mandate is: a budget with hard rules that every payment has to pass before a single token moves.
Live figures will appear here at mainnet launch.
/03Capabilities
Amounts, balances and limits are encrypted. A zero-knowledge proof shows each payment obeys the mandate without exposing it.
A programmable budget an agent spends from. Rules are checked by the program on every payment, not by the agent.
x402 payments settle into escrow first. Funds release on delivery, or freeze the moment a principal raises a dispute.
Budget that isn’t being spent is routed into Meteora vaults and withdrawn just in time when an agent pays.
/04How it works
A principal opens a mandate and names the agent key allowed to spend from it.
Deposit USDC directly, or back the mandate with an existing vault position.
Choose caps, ceilings, allowed providers and an expiry. Change or revoke any time.
The agent answers an x402 challenge. A zero-knowledge proof shows it fits the rules, and the encrypted payment is escrowed.
Whatever isn’t in flight sits in Meteora vaults, earning until it’s needed.
/05Ecosystem
People and teams who fund mandates, set the rules and keep the right to revoke.
Software holding a spend key. They can pay within the mandate and nothing beyond it.
APIs and services that charge over x402 and get paid once delivery is confirmed.
Neutral parties who review evidence when a payment is disputed and decide where funds go.
/06Funding paths
Deposit USDC into the mandate up front. The simplest path and the clearest ceiling.
Point the mandate at a Meteora vault position. Spending draws from it; the rest keeps earning.
Spend now, settle on a schedule. A capped credit line for principals with an established history.
/07FAQ
/08Developers
Use the SDK to create mandates and pay x402 challenges, or hand your agent the MCP server and let it pay through tools.
$ npm install @astraea/sdkimport { Mandate } from "@astraea/sdk"
const mandate = await Mandate.create({
agent: agentPublicKey,
limits: {
perPayment: 5_000_000, // 5 USDC
daily: 50_000_000, // 50 USDC
providers: ["api.example.com"],
},
privacy: "confidential", // encrypted amounts + private limits
idleYield: "meteora",
})
// The agent pays an x402 challenge; proof and escrow are automatic.
await mandate.pay(x402Challenge)Expose balance, limits and payment tools to any MCP-compatible client. The agent sees what it may spend, and the program enforces it.
$ npx @astraea/mcp