Live on Arc Testnet · Circle wallets · Tameion 2026

Let your AI agent pay people.
Within limits it can’t cross.

STEWARD gives every contractor a budget enforced by a smart contract, writes down why every payment happened, and asks you only when a request is over policy. USDC on Arc, signed by Circle wallets, nothing to install.

The demo opens a real studio’s workspace on Arc Testnet. You can approve or decline actual requests.

steward-arc.vercel.app
STEWARD owner dashboard: balance, budgets, decisions

A ledger checks that debits equal credits. It can’t tell you the vendor was right, the invoice was real, or that a retry didn’t pay twice.

Circle’s developer wallets say it plainly: they “do not include a built-in policy engine.” STEWARD is that engine, on-chain.

Budgets the agent can’t exceed
Per contractor: a cap per payment, a cap per week, an expiry, and a kill switch. Enforced by AllowanceManager on Arc, not by a prompt.
Every decision, replayable
The inputs the agent saw, the rule it applied, the reason it wrote — hashed and recorded on-chain, including holds. One hash pays exactly once.
Humans only for exceptions
Over-policy requests land in an approvals inbox and on Telegram. One tap pays from the owner’s Circle wallet. Screening failures can’t be approved at all.

Three steps. No wallet setup for the people you pay.

  1. 1
    Set a budget
    Add a contractor: name, per-payment cap, weekly cap, funding. No wallet? STEWARD creates a Circle wallet for them and hands you a private link.
  2. 2
    They request, the agent decides
    On their link they describe the work, attach evidence and an amount. The agent screens the payee, checks evidence, caps and liquidity, pays what fits, and records the reason.
  3. 3
    You approve only the exceptions
    Anything over policy waits for one tap. Everything else already happened, on-chain, with a paper trail an auditor can replay.
steward-arc.vercel.app
The contractor’s private page: budget, request form, status timeline
steward-arc.vercel.app
Contractors with on-chain budgets, spend bars and private links
For owners

An inbox instead of a hot key.

Contractors, budgets, an approvals inbox, an audit log and a treasury that parks idle USDC in a yield vault between pay cycles. The owner signs from a Circle Developer-Controlled wallet; no private key lives on any server.

  • Add a contractor in three steps, with a confirm summary
  • Plain-English reasons: “Above the 3.00 USDC per-payment cap”
  • Explorer links for every record, pay, escalate and approve transaction
  • Cross-chain payout to Base Sepolia via Circle CCTP, owner-executed
For agent builders

Ten lines in front of any agent that pays.

The same contracts and rules, as a library. TypeScript and Python produce byte-identical decision hashes.

import { Steward } from "steward-arc-sdk";

const s = new Steward({ allowanceManager, auditLog, account });
const r = await s.decide({
  allowanceId: 0n, amount: 150_000_000n, memo: "logo v2",
  inputs: { evidence: "ipfs://…" }, evidence: true, screenOk: true,
});
// r.action → "PAY" | "PARTIAL" | "HOLD" | "ESCALATE" | "SCREEN_FAIL"
// r.hash   → keccak256 of the canonical decision, recorded on-chain
Built on
Arc · USDC-native L1, chain 5042002
Circle Developer-Controlled Wallets · owner, agent and contractor wallets
Circle Contracts · deployed & imported
CCTP V2 · payouts to Base Sepolia
USYC / ERC-4626 · idle cash earns