Steward lets an agent pay contractors within limits it cannot cross. Foundry contracts in contracts/src/ do the enforcement: AllowanceManager.sol holds per-payee allowances with a per-payment cap, a rolling period budget, expiry and an owner kill switch, and its pay(), escalate() and approveAndPay() share one used-decision map so a decision pays exactly once; AuditLog.sol records the keccak256 of each canonical decision before money moves; YieldSweeper.sol parks idle USDC in USYC through Circle's Teller. The Python agent (agent/decision.py apply_rules()) picks PAY/PARTIAL/HOLD/ESCALATE/SCREEN_FAIL deterministically and asks Claude or Groq (agent/llm.py) only for a schema-validated reason. The FastAPI backend (api/main.py, api/circle_client.py) signs contract calls with Circle Developer-Controlled Wallets, creates contractor wallets on the fly, pays cross-chain with CCTP V2 in api/cctp.py and takes approvals over Telegram. SDKs ship as npm steward-arc-sdk and PyPI steward-sdk. AllowanceManager (0x3AAfC635a1D1391c9FD8b5B9d8A518Fe980cb7E6) and AuditLog (0x89264D27AFbCb2Ac90b8a3802340C26Ea1326866) are verified on Arc mainnet.
| Contract | Address | Proof |
|---|---|---|
| AllowanceManager | 0x3AAfC635a1D1391c9FD8b5B9d8A518Fe980cb7E6 | Blockscout ✓ |
| AuditLog | 0x89264D27AFbCb2Ac90b8a3802340C26Ea1326866 | Blockscout ✓ |
Fullstack Web3 Engineer: Rust (Tokio, Actix, Axum) OSS contributor (Previously Flare & Stellar fellow) Zk, and Blockchain
1 (Solo) — Godswill Idolor