addrbookFor publishers
← The evidence ledger

Evidence row 1003111

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.Fizzl13/presign-guard-wallet
Recorded
Previous row
#442885
Body SHA-256
6710358ddc18d1fefb4ddf845d3549c28c2758aa72013658f677a7c6f1a2be6c
Leaf
0x2c06d073c3c01158e91002ff1b325deb808322956e2f05c20195d2dc4d2f30e4

What was observed

{
  "endpoints": [
    [
      "web",
      "https://wallet.fizzl.eu/demo"
    ],
    [
      "mcp",
      "https://wallet.fizzl.eu/mcp"
    ]
  ],
  "name": "presign-guard wallet",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-29T06:14:48.692586Z",
        "status": "active",
        "statusChangedAt": "2026-10-29T06:14:48.692586Z",
        "updatedAt": "2026-10-29T06:14:48.692586Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Agent wallet with limits: pays x402/MPP on Base, Solana, Tempo, XRPL and Algorand; phone approval.",
      "name": "io.github.Fizzl13/presign-guard-wallet",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Private key of the agent's own wallet (a separate wallet holding only what the agent may spend)",
              "isRequired": true,
              "isSecret": true,
              "name": "AGENT_KEY"
            },
            {
              "description": "Most USDC per payment or transfer without asking you, e.g. 5",
              "name": "LIMIT_USDC_PER_TX"
            },
            {
              "description": "Daily USDC budget, e.g. 20",
              "name": "LIMIT_USDC_PER_DAY"
            },
            {
              "description": "Telegram bot that asks you to approve anything over a limit",
              "isSecret": true,
              "name": "TELEGRAM_BOT_TOKEN"
            },
            {
              "description": "Your Telegram chat id (approvals go only there)",
              "name": "TELEGRAM_CHAT_ID"
            },
            {
              "description": "Instead of Telegram: your Algorand address; approvals are signed in your own wallet over AC2 (needs the AC2 service, ac2-cli, paired with your wallet)",
              "name": "AC2_OWNER"
            },
            {
              "description": "Instead of LIMIT_* and TELEGRAM_*: a wallet server keeping one budget for all your agents",
              "name": "WALLET_SERVER_URL"
            },
            {
              "description": "The agent key (awk_…) from the wallet server's dashboard",
              "isSecret": true,
              "name": "WALLET_SERVER_KEY"
            },
            {
              "description": "base (default), ethereum, optimism, arbitrum, polygon or bsc",
              "name": "CHAIN"
            },
            {
              "description": "Most a single x402 API call may cost, in dollars (default 1)",
              "name": "MAX_PAYMENT_USD"
            },
            {
              "description": "Optional: only pay or sign for these addresses (0x, XRPL r… or Algorand, comma-separated); anything else needs approval. Not with a wallet server",
              "name": "ALLOW_LIST"
            },
            {
              "description": "Optional presign-guard credit key (pgc_…) to pay the $0.01 checks from prepaid credits",
              "isSecret": true,
              "name": "PRESIGN_CREDIT_KEY"
            },
            {
              "description": "Optional RPC URL for the chain",
              "name": "RPC_URL"
            },
            {
              "description": "off to never pay MPP charges on Tempo (default on: paid in USDC.e on Tempo from the same address)",
              "name": "TEMPO"
            },
            {
              "description": "4217 (Tempo, default) or 42431 (Moderato testnet)",
              "name": "TEMPO_CHAIN"
            },
            {
              "description": "Optional Tempo RPC URL",
              "name": "TEMPO_RPC_URL"
            },
            {
              "description": "Optional: pay MPP sessions on Tempo; the USDC.e each channel deposit or top-up puts in (counted toward the USDC limits); then each call is a signed voucher",
              "name": "MPP_SESSION_DEPOSIT"
            },
            {
              "description": "Optional: the agent's own Solana secret key (base58 or solana-keygen byte array); pays x402 offers in USDC on Solana (checked by presign-guard, counted toward the USDC limits)",
              "isSecret": true,
              "name": "SOLANA_PRIVATE_KEY"
            },
            {
              "description": "mainnet (default) or devnet",
              "name": "SOLANA_NETWORK"
            },
            {
              "description": "Optional Solana RPC URL",
              "name": "SOLANA_RPC_URL"
            },
            {
              "description": "Optional: the agent's own Algorand account (25 words); pays x402 offers in USDC on Algorand (counted toward the USDC limits)",
              "isSecret": true,
              "name": "ALGORAND_MNEMONIC"
            },
            {
              "description": "mainnet (default) or testnet",
              "name": "ALGORAND_NETWORK"
            },
            {
              "description": "Optional: the agent's own XRPL account seed; pays x402 offers in RLUSD on the XRP Ledger (counted toward the USDC limits)",
              "isSecret": true,
              "name": "XRPL_SEED"
            },
            {
              "description": "mainnet (default) or testnet",
              "name": "XRPL_NETWORK"
            },
            {
              "description": "Optional XRPL node websocket URL",
              "name": "XRPL_WS_URL"
            }
          ],
          "identifier": "presign-guard-wallet-mcp",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "0.29.1"
        }
      ],
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://wallet.fizzl.eu/mcp"
        }
      ],
      "repository": {
        "source": "github",
        "subfolder": "wallet-mcp",
        "url": "https://github.com/Fizzl13/x402-examples"
      },
      "title": "presign-guard wallet",
      "version": "0.29.1",
      "websiteUrl": "https://wallet.fizzl.eu/demo"
    }
  },
  "source": "mcp_registry",
  "summary": "Agent wallet with limits: pays x402/MPP on Base, Solana, Tempo, XRPL and Algorand; phone approval."
}

What the leaf hashes

{"body":"6710358ddc18d1fefb4ddf845d3549c28c2758aa72013658f677a7c6f1a2be6c","id":1003111,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793257974821560,"prev":442885,"subject":"mcp_registry:io.github.Fizzl13/presign-guard-wallet","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (242798 rows).

  1. 0x2c06b01dabb14f4ccdeac1b1372feec26fc9422153c698385404f09fcf254afa
  2. 0x777085c98e911ee446ac829c7b8e20b326f776912ea0541b51de444b0d8a63a9
  3. 0xe6ceef2c0b69301bc1e82e744cfca4b4b4f055da671b1a72a971a1d91859574a
  4. 0xd8b15c1493e00308dbf2ead72fc8f0ab05b3ed254f7bf481d165e85bdfe0979b
  5. 0x2e0fefa8543c46faa10cb959957681806192ce82e5955bbf9c7d0d97cfdf1a9d
  6. 0xf411c9f87ea611d445872c947bd93130b7f23e9707f45adadbb6f72c7b0a4b77
  7. 0x22b261a283793d54bf28bb0fb1cea92e1e983f46303c9584e29b81a48c4a0ea9
  8. 0x9bfcdcdfbdd319c3a8dad522bb224d25f32abc4b21649df7ed138ec15ff21f08
  9. 0x0af90b7d27b724a723ac5182d33a29806e2ec91ccc00e2bf295d4cebae38574e
  10. 0x7f969d2970b90cb3307ffe4982f968e829960a219e5cb1b75673b389dcb0f9e9
  11. 0x7368830e11ffde50ca74889a46612d8de57bce2379d7087b66494837adaf084f
  12. 0xb5dc3c0b7ca2a7b192a78bd752224941a82753443b87153ddf2bad4d207a02ff
  13. 0x53104aada45a8c2f9002ac93098831a2cf0cef1895679463ed8dabcf75a7fa24
  14. 0xcaae1928370ce22d2a564247e7948dcda78bb8c3ef9a7d8bdfa6e00f84c1e28c
  15. 0x00268e62f7d5ca6313e0e60afdc2bd4f52c6dbdb3b4b4d27e01e634b4bcb1d2c
  16. 0x1c3764b490d23b94e5ac838c89f8d3850dedb0819196f367da2479c7a88bf2c0
  17. 0xd76435ead496863d8b0bfab3434f54cd11da3c49d104fc4064b9cb3381567bbd
  18. 0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON