io.github.dingdawg/agent-wallet
Governed USDC wallet for AI agents — policy gates, spending caps, and Ed25519-signed receipts.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
dingdawg-agent-walletclaude mcp add agent-wallet -- npx -y dingdawg-agent-wallet@1.0.6
{
"mcpServers": {
"agent-wallet": {
"command": "npx",
"args": [
"-y",
"dingdawg-agent-wallet@1.0.6"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
dingdawg-agent-wallet — live demo
Shows governed agent wallet enforcement in action: allow, deny, step-up, allowlist — all in 5 seconds. No API keys. No blockchain required.
What it demonstrates
▶ provision_wallet
wallet_id: demo-wallet-abc123
daily_cap: $200 USDC
per_call_cap: $100 USDC
▶ governed_spend — $25 USDC (allowed)
✓ AUTHORIZED
receipt_id: 6aba84a6-...
daily_remaining: $175 USDC
next_step: wallet.sendToken({ assetId: "usdc", amount: "25", destination: "0xVendorABC123" })
▶ governed_spend — $150 USDC (exceeds per-call cap)
✗ DENIED
reason: Amount 150 USDC exceeds per-call cap 100 USDC
receipt_id: cd7a7aa8-... (denial is logged too)
▶ governed_spend — $75 USDC (step-up required)
⚠ STEP-UP REQUIRED
reason: Amount 75 USDC > step-up threshold 50 USDC — MFA required
fix: Pass approval_token from your authorization flow
▶ governed_spend — unknown recipient (not in allowlist)
✗ DENIED
reason: Recipient 0xUnknownAddress not in allowlist
▶ wallet_audit
chain_verified: true ✓
total_receipts: 5
[17:02:18] DENY $10 USDC governed_spend
[17:02:18] DENY $75 USDC governed_spend
[17:02:18] DENY $150 USDC governed_spend
[17:02:18] ALLOW $25 USDC governed_spend
[17:02:18] ALLOW provision_wallet
Every action — allow AND deny — produces an immutable receipt. chain_verified: true means the full chain is tamper-evident — any modification is detectable.
Run it
git clone https://github.com/DingDawg/agent-wallet-demo
cd agent-wallet-demo
npm install
node demo.mjs
The package
dingdawg-agent-wallet — 5 MCP tools that wrap any agent wallet with policy enforcement and an immutable audit trail.
npm install dingdawg-agent-wallet
| Tool | What it does |
|---|---|
provision_wallet | Create wallet with spend policy (daily cap, per-call cap, allowlist) |
governed_spend | Policy check → authorize → immutable receipt |
governed_receive | Accept payment with tamper-evident receipt |
wallet_policy | Update limits and allowlists at runtime |
wallet_audit | Full receipt chain — chain_verified: true |
Coinbase AgentKit gives your agent a wallet. DingDawg gives it a conscience.
Why this matters
AI 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.
governed_spendauthorizes then returns the exactagentkit_callSDK method to execute on-chain- Every denial is logged — you can prove what your agent didn't do
chain_verified: truemeans the audit trail is tamper-evident — any modification is detectable
Frequently asked questions
What is io.github.dingdawg/agent-wallet?
Governed USDC wallet for AI agents — policy gates, spending caps, and Ed25519-signed receipts.
How do I install io.github.dingdawg/agent-wallet?
It runs on your machine. In Claude Code: claude mcp add agent-wallet -- npx -y dingdawg-agent-wallet@1.0.6. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.dingdawg/agent-wallet need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.dingdawg/agent-wallet open source?
Its code is public on GitHub, but the repository does not declare a standard license.
Who maintains io.github.dingdawg/agent-wallet?
It is published by dingdawg. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.