Agent skill · Data & Analytics

agent-wallet

Give the AI agent its own EVM wallet with admin-controlled policies the agent CANNOT bypass even under prompt injection. Encrypted keystore (AES-256-GCM, scrypt KDF), policy file the agent has no tool to write, deterministic policy gate on every signing operation, optional local HTTP dashboard. Triggers: agent wallet, give the agent a wallet, agent address, fund the agent, agent autonomy, policy gate, kill switch, agent permissions, bounded autonomy, ERC-4337 alternative, session-key alternative.

Internet Court1,389★ · +222/wk · 1 repos on radarProfile →
claude-codecodexNOASSERTION
Install
npx skills add internet-court/internet-court-skill --skill agent-wallet --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 16 KB
Bundled scripts: none
Path: vendored/chaingpt/agent-wallet/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,536 · +147 this week
Language: TypeScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# ChainGPT Agent Wallet Skill The agent has its own EOA wallet on every EVM chain it supports. The admin (you, in your shell) sets policies that the agent cannot violate or revoke — even if a malicious prompt convinces the LLM to try. ## Threat model **The attacker's goal:** prompt-inject the agent to drain its wallet to an attacker address. **The plugin's defense:** the policy check is in **code, not in the LLM's prompt**. Every `chaingpt_agent_wallet_sign_and_send` call: 1. Loads the policy file fresh from disk (no caching — admin can update mid-session). 2. Runs `checkPolicy(intent)` — pure deterministic code that doesn't see the LLM's context. 3. Refuses if any rule fails, with a clear reason the agent surfaces back to the user. The attacker can convince the LLM to call `sign_and_send(to=attacker, value=ALL)` — but the tool layer refuses because `attacker` isn't in `allowedToAddresses` or `value` exceeds `maxTxValueWei` or `killSwitch=true`. **The trust boundary is the tool code, not the LLM.** There is no MCP tool that writes the policy file. The admin edits it directly with a text editor. There is no MCP tool that reads or sets the passphrase. The passphrase lives only in the

What's inside
Steps it walks through
  1. Threat model
  2. Setup (admin steps — done once)
  3. Option A — zero-setup (macOS / Linux with a keychain) — recommended for most
  4. Option B — explicit env var (CI / headless / max control)
  5. Tools
  6. Policy file format
  7. Field reference
  8. Solana wallet (v1.19+)
  9. On-chain caps — ERC-4337 session keys (v1.21+)
  10. Pre-flight checklist
  11. Local admin dashboard
  12. Why this is safe even though the dashboard CAN edit the policy
  13. Dashboard endpoints
  14. What this skill does NOT do
Ships with 1 file
  • LICENSE
Commands it runs
Just init — a strong passphrase is generated + stored in your OS keychain.
claude
initialize the agent wallet
Set a strong passphrase BEFORE starting the MCP server (>= 16 chars)
export CHAINGPT_AGENT_WALLET_PASSPHRASE="your-strong-passphrase-here-min-16-chars"
More from internet-court-skill
All skills →
About this skill
What does the agent-wallet skill do?

Give the AI agent its own EVM wallet with admin-controlled policies the agent CANNOT bypass even under prompt injection. Encrypted keystore (AES-256-GCM, scrypt KDF), policy file the agent has no tool to write, deterministic policy gate on every signing operation, optional local HTTP dashboard. Triggers: agent wallet, give the agent a wallet, agent address, fund the agent, agent autonomy, policy gate, kill switch, agent permissions, bounded autonomy, ERC-4337 alternative, session-key alternative.

How do I install it?

Run `npx skills add internet-court/internet-court-skill --skill agent-wallet --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From internet-court/internet-court-skill, a repository with 1,536 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going