尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Finance console demo for AI-agent payments: approval queue, signed verdict verification, USDC tracking on Base & Solana testnets.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A portfolio demo of a finance console for AI-agent payments. AI agents ask to pay vendors in USDC; rules decide, people review, and every decision can be explained and verified.
/approvals): requests above an agent's review threshold wait here. Approve with a 5-second undo, reject with a reason, and get warned when the agent's mandate changed while the request waited. Fully usable from the keyboard./decisions/[id]): the rule outcome in plain language, the mandate that applied, and the ES256-signed verdict. You can verify it in the browser, and a Tamper switch shows the check failing./payments/[id]): from request to onchain confirmation, reading real USDC testnet transactions on Base Sepolia and Solana devnet.Live demo: https://agent-spend-console-demo.vercel.app
Not affiliated with any company. Concepts (mandates, signed verdicts, review thresholds) are modelled generically; decision codes are invented. Testnet only and read-only onchain: no wallets, no private keys, no mainnet.
| Approval queue | Dark mode |
|---|---|
| Signed verdict, verified | Tampered payload fails verification |
|---|---|
| Real Base Sepolia transfer | Mobile (375px) |
|---|---|
| Area | Choice |
|---|---|
| Framework | Next.js 15 (App Router), React 19, TypeScript (strict) |
| Data | TanStack Query v5, TanStack Table v8, Zod 4 |
| UI | Tailwind CSS v4, shadcn/ui (Radix), next-themes, sonner |
| Mock API | In-memory handlers in the browser, in every build including production; MSW in tests |
| Signed verdicts | jose (ES256 JWT, JWKS) |
| Onchain (read-only) | viem on Base Sepolia, @solana/web3.js on devnet |
| Money | bigint minor units, never floats |
| Testing | Vitest + Testing Library; Playwright + axe-core for e2e and accessibility |
Requires Node 24 and pnpm (corepack enable).
pnpm install
pnpm dev # http://localhost:3000
Checks:
pnpm lint && pnpm typecheck && pnpm test # also run in CI
pnpm e2e # Playwright: approve flow, keyboard walkthrough, axe, 375px checks
pnpm screenshots # regenerates docs/screenshots (reads the live testnet)
Before the first pnpm e2e, install the browser once with pnpm exec playwright install chromium. The e2e suite builds the app and serves it on port 3100 from its own .next-e2e folder, so it can run next to pnpm dev. It fakes the testnet RPCs, so it doesn't depend on public endpoints.
Optional .env.local (see .env.example): NEXT_PUBLIC_BASE_SEPOLIA_RPC_URL and NEXT_PUBLIC_SOLANA_DEVNET_RPC_URL point at a keyed testnet RPC. Without them the public endpoints are used. They work but rate-limit.
Full records with trade-offs are in docs/decisions.md. The design contract is in docs/design.md.
Built with AI assistance (Claude Code) and reviewed by me.