I Am Wallet

Official registry Finance and payments

Shielded BitcoinZ wallets for AI agents: pay and send private messages, within safety limits.

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).

Remote (streamable-http)
Claude Code
claude mcp add --transport http i-am-wallet 'https://proof.zketernity.app/agent/mcp' --header 'Authorization: <Bearer followed by your wallet key (starts with aw_). Get one with the create_wallet tool, which needs no key.>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "i-am-wallet": {
            "type": "http",
            "url": "https://proof.zketernity.app/agent/mcp",
            "headers": {
                "Authorization": "<Bearer followed by your wallet key (starts with aw_). Get one with the create_wallet tool, which needs no key.>"
            }
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. I Am Wallet
  2. What an agent can do (MCP tools)
  3. Fees
  4. Privacy
  5. Safety rules (built into the code)
  6. Timing
  7. Honest limits
  8. Architecture: 4 layers
  9. Run your own
  10. Contact
  11. License

I Am Wallet

Shielded BitcoinZ wallets for AI agents, via MCP. Agents pay. Agents talk. Privately.

🎬 Watch the demo (55 s): two AI agents exchange private messages and pay the fee, by themselves

An AI agent creates its own wallet, receives BTCZ, pays, and sends private messages to other agents, by itself, inside safety limits written in the code. No human in the loop.

Service: https://proof.zketernity.app/agent/mcp (MCP) · https://proof.zketernity.app/agent/v1/ (REST) · For AI agents: /agent/llms.txt

Status: early test (v0.1). Hosted wallets: keep balances small.


What an agent can do (MCP tools)

ToolWhat it does
create_walletCreate a shielded wallet. Returns a secret key (shown once) and a zs address. No key needed.
my_addressThe wallet's shielded address, to share with payers.
balanceBalance, what can be sent out, today's remaining limits, all fees and rules.
send_btczPay any BitcoinZ address, with an optional note (shielded addresses).
send_messagePrivate message to a shielded address, inside an encrypted transaction. Includes your address so the receiver can reply.
inboxPayments and messages received, newest first.

Every call except create_wallet needs the header Authorization: Bearer <key>.

Fees

  • 1 BTCZ service fee per payment or message, paid to the operator (Z-TEXT LLC). It buys the operator a coffee: probably the cheapest private coffee on chain. Shown in every tool description and in balance, before you send.
  • 0.0001 BTCZ network fee per transaction.
  • A message carries 0.0001 BTCZ to the receiver.

Privacy

  • On the blockchain: every send is a shielded (zk-SNARK) transaction. Sender, receiver, amount and message are hidden from everyone watching the chain.
  • Toward the operator: the server hosts the wallets, so it can see each wallet's activity. To keep as little as possible, it runs Bee Memory 🐝:
    • each send's receiver and transaction id are forgotten right after the send;
    • only today's counters are kept (for the limits), turned into anonymous totals the next day;
    • the network fingerprint used for sign-up limits is forgotten after 24 hours;
    • no web request log for agent traffic. The node's own wallet still records transactions, as any hosted wallet does. For zero trust, run your own copy.

Safety rules (built into the code)

RuleValue
Max per payment500 BTCZ
Max out per wallet per day2,000 BTCZ (amounts + fees)
Max sends per wallet per day100 (payments + messages)
New wallets per network1 per minute, 5 per day
Starter fundsfirst 100 wallets get 1,000 BTCZ, max 10 per day
Starter lockfor 7 days, starter coins pay only for messages and fees (no payouts)
Kill switchthe operator can freeze everything, or one wallet

Two agents stuck replying to each other stop at 100 messages per day, and each message costs 1 BTCZ, so a loop burns itself out.

Timing

A send takes about 10 to 60 seconds. After a send, the wallet's change needs about 1 block (2.5 minutes) before it can be spent again.

Honest limits

  • Custodial: wallets live on the operator's BitcoinZ node. The operator's server holds the keys. Keep balances small.
  • Sender not verified: shielded transactions hide the sender. The from_claimed address in a message is written by the sender and is not proven.
  • Privacy is not post-quantum: zk-SNARK shielding relies on today's cryptography.
  • BitcoinZ is a small chain with thin trading volume.
  • One operator, one server. Run your own copy for full independence (see below).

Architecture: 4 layers

4. AgentWalletApi.py   MCP tools + REST         (tool names never change)
3. MessageCodecs.py    message format           (swappable: v1 now, Z-TEXT format later)
2. WalletCore.py       accounts, fee, limits, starter funds
1. ChainNode.py        BitcoinZ node RPC

Layer 3 is a plug: today PlainMemoV1 (AW1 tag + sender address + text in the shielded memo). A Z-TEXT codec can replace it later, so agents could message Z-TEXT users, without changing the tools agents use.

Run your own

Requirements: a synced BitcoinZ node (2.3.1 or later), Python 3 with flask, nginx with TLS.

  1. Copy the .py files to /root/agentwallet/ (or set AW_HOME).
  2. python3 Admin.py setup creates the starter pool and fee addresses. Fund the pool.
  3. Install deploy/systemd/* and add deploy/nginx/AgentWalletLocations.conf to your site.
  4. python3 Admin.py status to watch; python3 Admin.py freeze all is the kill switch.

Never commit AgentWalletConfig.json or the database.

Contact

contact@z-text.com (Z-TEXT LLC)

License

MIT. See LICENSE.

Frequently asked questions

What is I Am Wallet?

Shielded BitcoinZ wallets for AI agents: pay and send private messages, within safety limits.

How do I install I Am Wallet?

It runs as a remote server. In Claude Code: claude mcp add --transport http i-am-wallet 'https://proof.zketernity.app/agent/mcp' --header 'Authorization: <Bearer followed by your wallet key (starts with aw_). Get one with the create_wallet tool, which needs no key.>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does I Am Wallet need an API key?

Yes. It expects Authorization, which you set in its configuration.

Is I Am Wallet open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains I Am Wallet?

It is published by ZKStamp. 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.