← all projects

Arc Guardian

@aa160999·FD·added 2026-10-24
1
stars
3.2k
lines
35
files
0
forks
0
followers
languages
TypeScript 88%Python 8%HTML 4%

Arc Guardian is the one door money leaves through. The TypeScript library and CLI (arc-guardian, src/) sit between an agent and Circle's CLI: src/engine.ts evaluate(policy, ledger, intent) is a pure function over a strict YAML policy (policy.yaml: vendor registry with risk tiers, per-tx, daily and monthly caps, unknown-recipient deny, duplicate-invoice hold window, approval threshold) that returns allow, hold or deny, and src/ledger.ts appends every decision to a hash-chained JSONL ledger (entryHash() from GENESIS_HASH) that the self-contained docs/index.html page verifies in the browser. src/worker.ts polls a file queue in data/queue/ so sandboxed agents can drop PaymentIntent JSON, and src/executors.ts defines an Executor interface with DryRunExecutor and CircleCliExecutor, which runs circle wallet transfer for USDC or swaps USDC to EURC first. src/ap-agent.ts is a reference accounts-payable agent making two zod-validated LLM passes per invoice (extract, then judge) through src/llm.ts; holds need a human guardian approve bound to the payment facts, and replayed intents are denied. MIT licensed, 50 tests in test/.

events
tags
circle components
builder bio

Quantitative Developer @ Independent Research | Focused on Asynchronous Surveillance & v4 Hooks

team · solo

1 (Solo) — Qingjun Peng (Ryan)

on xx/kram_775
repo description

Spending guardrails + hash-chained decision ledger for AI agents paying USDC on Arc. The model proposes, a deterministic policy decides, a human lifts holds.

last pushed 2026-10-18