Solvent Guard — live audit dashboard

A policy engine + sandboxed wallet that lets an AI agent spend money on NEAR without ever holding the keys to everything. Every payment intent below was judged before anything was signed, and recorded in a hash-chained audit ledger. Network: testnet (faucet assets, no real funds) · generated —.

The policy (written by a human, enforced by the Guard)

Three layers of enforcement — one rule

“At most 1.00 USDC per payment, only through the vault.” Each layer enforces it independently, so no single failure can move more.

1 · Policy engine (off-chain)

Every intent is evaluated against the human-written policy file — per-tx cap, daily cap, recipient & contract allowlists, denylist, approval threshold, kill switch — and the decision (allow / deny / needs human) is written, with its reasons, to the hash-chained ledger before any signing happens.

2 · Scoped function-call key (on-chain)

The agent's only credential is a NEAR function-call access key scoped to one contract + one method — the vault's release — with a small gas-only allowance. In the demo the Guard is bypassed and the same key is fired at a different contract: NEAR itself rejects it. NEAR function-call keys cannot attach deposits, which is exactly why the funds live in a vault contract instead of being moved by ft_transfer.

3 · Vault contract (on-chain)

The vault holds the float and re-checks the rule itself: release can be called only by the agent account and refuses any single payment above its hard on-chain cap of 1.00 USDC — even if layers 1 and 2 were both compromised, one call can never take more.

Audit ledger

Append-only JSONL; each entry hash-chains to the previous one, so edits are detectable. Integrity: —

#Time (UTC)IntentAmount DecisionReasonsExecuted

Live testnet evidence

Solvent Guard — built at NEAR HACKATHON (“Build Beyond Boundaries”), AI Security & Defense track. Regenerate this page with npm run dashboard. Demo/testnet only; amounts are valueless faucet USDC.