Custodiante
Custodiante decides whether an agent's payment request should go through. A typed scoring client (src/decision_engine/system_one.py, with hosted Jev, self-hosted Kev and a keyword mock) returns trust, urgency, importance and a fraud probability as numbers only; src/policy/rules.py thresholds them with two fraud vetoes and a payee-registry check (src/payees.py) the model never sees, yielding approve, approve-reduced or escalate-to-human from a YAML rules config. Approved payments settle in USDC on Arc testnet through the Circle developer-controlled-wallets SDK in src/payments/arc_client.py, which validates the destination in code, sends with idempotency keys and looks the transaction back up before reporting it settled; src/payments/escrow.py drives milestone payouts through the ERC-8183 AgenticCommerce contract at 0x0747EEf0706327138c69792bF28Cd525089e4583. Every decision lands in a hash-chained JSONL audit log (src/audit/logger.py, src/audit/verify.py) with a config fingerprint so runs replay identically, behind FastAPI manager and requester dashboards in ui/. Dependencies are pinned exactly, with 37 test files.
1 (Solo) — Isaque Santos