{
  "markdown": "# dingdawg-agent-wallet — live demo\n\nShows **governed agent wallet** enforcement in action: allow, deny, step-up, allowlist — all in 5 seconds. No API keys. No blockchain required.\n\n---\n\n## What it demonstrates\n\n```\n▶ provision_wallet\n  wallet_id:    demo-wallet-abc123\n  daily_cap:    $200 USDC\n  per_call_cap: $100 USDC\n\n▶ governed_spend — $25 USDC (allowed)\n  ✓ AUTHORIZED\n  receipt_id:      6aba84a6-...\n  daily_remaining: $175 USDC\n  next_step:       wallet.sendToken({ assetId: \"usdc\", amount: \"25\", destination: \"0xVendorABC123\" })\n\n▶ governed_spend — $150 USDC (exceeds per-call cap)\n  ✗ DENIED\n  reason:      Amount 150 USDC exceeds per-call cap 100 USDC\n  receipt_id:  cd7a7aa8-... (denial is logged too)\n\n▶ governed_spend — $75 USDC (step-up required)\n  ⚠ STEP-UP REQUIRED\n  reason: Amount 75 USDC > step-up threshold 50 USDC — MFA required\n  fix:    Pass approval_token from your authorization flow\n\n▶ governed_spend — unknown recipient (not in allowlist)\n  ✗ DENIED\n  reason: Recipient 0xUnknownAddress not in allowlist\n\n▶ wallet_audit\n  chain_verified: true ✓\n  total_receipts: 5\n  [17:02:18] DENY  $10 USDC    governed_spend\n  [17:02:18] DENY  $75 USDC    governed_spend\n  [17:02:18] DENY  $150 USDC   governed_spend\n  [17:02:18] ALLOW $25 USDC    governed_spend\n  [17:02:18] ALLOW              provision_wallet\n```\n\nEvery action — allow AND deny — produces an immutable receipt. `chain_verified: true` means the full chain is tamper-evident — any modification is detectable.\n\n---\n\n## Run it\n\n```bash\ngit clone https://github.com/DingDawg/agent-wallet-demo\ncd agent-wallet-demo\nnpm install\nnode demo.mjs\n```\n\n---\n\n## The package\n\n[dingdawg-agent-wallet](https://npmjs.com/package/dingdawg-agent-wallet) — 5 MCP tools that wrap any agent wallet with policy enforcement and an immutable audit trail.\n\n```bash\nnpm install dingdawg-agent-wallet\n```\n\n| Tool | What it does |\n|---|---|\n| `provision_wallet` | Create wallet with spend policy (daily cap, per-call cap, allowlist) |\n| `governed_spend` | Policy check → authorize → immutable receipt |\n| `governed_receive` | Accept payment with tamper-evident receipt |\n| `wallet_policy` | Update limits and allowlists at runtime |\n| `wallet_audit` | Full receipt chain — `chain_verified: true` |\n\nCoinbase AgentKit gives your agent a wallet. DingDawg gives it a conscience.\n\n---\n\n## Why this matters\n\nAI agents can now hold USDC and spend autonomously. The infrastructure exists. What doesn't: **who enforces what the agent is allowed to spend, on what, for whom — and proves it happened correctly.**\n\n- `governed_spend` authorizes then returns the exact `agentkit_call` SDK method to execute on-chain\n- Every denial is logged — you can prove what your agent *didn't* do\n- `chain_verified: true` means the audit trail is tamper-evident — any modification is detectable\n\n---\n\n[npm](https://npmjs.com/package/dingdawg-agent-wallet) · [DingDawg](https://dingdawg.com)\n",
  "bytes": 2921,
  "sha": "04b06ed7394961cdeea95d450d500702e70bb393e48362d2b05768bfcadc77d5",
  "repo_slug": "dingdawg/agent-wallet-demo",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_dingdawg_agent_wallet_85969e71/readme"
}