Live on Solana devnet

Agents that spend in private and never overspend.

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.

  1. /01

    Private by default

    Amounts, limits and counterparties stay encrypted. Zero-knowledge proofs show each payment follows the rules.

  2. /02

    Limits enforced on-chain

    Caps, ceilings and allowlists live in a Solana program. An agent physically cannot sign past them.

  3. /03

    Escrowed x402 payments

    Every USDC payment waits in escrow until the provider delivers — and can be disputed if they don’t.

  4. /04

    Idle USDC earns in Meteora

    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

Enforced in public. Spent in private.

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.

What the chain seesBlock explorer
  • One-time address 7xQe…h2KpAmount encrypted
  • One-time address Gm4B…r8LdAmount encrypted
  • One-time address Pz9c…wV1sAmount encrypted
  • One-time address Ka2N…tQ6mAmount encrypted

Valid proofs, unlinkable addresses, encrypted amounts. No principal, no provider, no total.

What you seeViewing key
  • Search API0.42 USDC
  • GPU inference3.10 USDC
  • Maps tiles0.08 USDC
  • Data vendor12.00 USDC
Remaining today34.40 / 50.00 USDC
/01

Confidential amounts

Balances and payment amounts are encrypted on-chain. Observers see that a payment happened, not how much moved.

/02

Private mandates

Limits are stored as a commitment. Each payment carries a zero-knowledge proof that it fits the rules, without revealing them.

/03

Unlinkable payments

Agents pay from one-time addresses, so providers can’t join payments together into a profile of the principal.

/04

Selective disclosure

Principals hold a viewing key. Share it with an auditor or accountant — scoped to one mandate — and revoke it later.

Disclosure matrix

Who can see what, at every step.

  • VisibleVisible
  • Proof onlyProof only
  • HiddenHidden
What each party can see about a mandate and its payments
DataChain observerProviderResolverPrincipal
Payment amountHiddenVisibleVisibleVisible
Mandate limitsProof onlyProof onlyHiddenVisible
Remaining balanceHiddenHiddenHiddenVisible
Principal identityHiddenHiddenHiddenVisible
Spend across providersHiddenHiddenHiddenVisible
Dispute evidenceHiddenVisibleVisibleVisible

Resolvers only receive amounts and evidence for payments that are actually disputed.

/02Mission

Software is learning to buy things. We think the guardrails belong in the chain, not in a prompt.

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.

Mandates created
—
USDC under mandate
—
x402 payments settled
—
Disputes resolved
—

Live figures will appear here at mainnet launch.

/03Capabilities

Four primitives. One private account an agent can’t talk its way out of.

/01

Confidential payments

Amounts, balances and limits are encrypted. A zero-knowledge proof shows each payment obeys the mandate without exposing it.

  • Encrypted USDC amounts
  • Committed, hidden limits
  • One-time payment addresses
  • Scoped viewing keys
/02

Mandates

A programmable budget an agent spends from. Rules are checked by the program on every payment, not by the agent.

  • Per-payment caps
  • Daily & lifetime ceilings
  • Provider allowlists
  • Expiry & instant revoke
/03

Escrow & disputes

x402 payments settle into escrow first. Funds release on delivery, or freeze the moment a principal raises a dispute.

  • Per-payment escrow
  • Configurable release window
  • Evidence-based disputes
  • Neutral resolvers
/04

Yield on idle funds

Budget that isn’t being spent is routed into Meteora vaults and withdrawn just in time when an agent pays.

  • Meteora vault routing
  • Just-in-time withdrawals
  • Yield accrues to principal
  • Opt-in per mandate

/04How it works

From empty wallet to a working agent budget in five steps.

  1. 01

    Create mandate

    A principal opens a mandate and names the agent key allowed to spend from it.

  2. 02

    Fund

    Deposit USDC directly, or back the mandate with an existing vault position.

  3. 03

    Set limits

    Choose caps, ceilings, allowed providers and an expiry. Change or revoke any time.

  4. 04

    Agent pays

    The agent answers an x402 challenge. A zero-knowledge proof shows it fits the rules, and the encrypted payment is escrowed.

  5. 05

    Funds earn

    Whatever isn’t in flight sits in Meteora vaults, earning until it’s needed.

/05Ecosystem

Four roles, each with exactly the power it needs.

Role 01

Principals

People and teams who fund mandates, set the rules and keep the right to revoke.

Role 02

Agents

Software holding a spend key. They can pay within the mandate and nothing beyond it.

Role 03

Providers

APIs and services that charge over x402 and get paid once delivery is confirmed.

Role 04

Resolvers

Neutral parties who review evidence when a payment is disputed and decide where funds go.

/06Funding paths

Fund a mandate the way your treasury already works.

/01

Prefund

Deposit USDC into the mandate up front. The simplest path and the clearest ceiling.

  • Deposit any amount of USDC
  • Budget equals balance
  • Withdraw unspent funds anytime
Prefund a mandate
/02

Vault-backed

Point the mandate at a Meteora vault position. Spending draws from it; the rest keeps earning.

  • Funds stay in a Meteora vault
  • Just-in-time withdrawals on payment
  • Yield accrues to the principal
Connect a vault
/03Beta

Credit

Spend now, settle on a schedule. A capped credit line for principals with an established history.

  • Collateralised credit limit
  • Periodic settlement
  • Same on-chain limits apply
Join the beta

/07FAQ

Questions, answered plainly.

/08Developers

A mandate is a few lines of TypeScript.

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/sdk
mandate.ts
import { 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)
MCP server

Give any agent a wallet with rules.

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
Read the docsSDK reference, MCP tools and examples