addrbookFor publishers
← The evidence ledger

Evidence row 28102

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.Fizzl13/presign-guard-wallet
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a7babcc8718fa4b611224c8d10f920d4a0b26918f4e1a32d6ec3827394c3263c
Leaf
0x76b0751fc24ec2b6ab9df7d61942005fe4af74f2fa396b7234de85f883576895

What was observed

{
  "endpoints": [
    [
      "mcp",
      "https://wallet.fizzl.eu/mcp"
    ],
    [
      "web",
      "https://wallet.fizzl.eu/demo"
    ]
  ],
  "name": "presign-guard wallet",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-26T12:06:55.998246Z",
        "status": "active",
        "statusChangedAt": "2026-10-26T12:06:55.998246Z",
        "updatedAt": "2026-10-26T12:06:55.998246Z"
      }
    },
    "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.28.0"
        }
      ],
      "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.28.0",
      "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":"a7babcc8718fa4b611224c8d10f920d4a0b26918f4e1a32d6ec3827394c3263c","id":28102,"kind":"listing","method":"baseline/1","observed_us":1793025358497837,"prev":null,"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 (296695 rows).

  1. 0x76b07917d6a6c5e0feaf2d866293425ae92042017fba1d6541d3ac9b03b5721e
  2. 0x623eb85264fb75ead718dc386daa9ba69981e1ca2a733db493bc6834f677ed88
  3. 0x0855412c1a72f9a33dc63a9830c4fc2c874ed4c2524f47789f7d49fa35486443
  4. 0xe9876dbf79218cf61031f3052c2c84065e9628458c594fc0b14364825c8f8c92
  5. 0x02d1713688f6587180ed92e9d237e5c959860d684a7dd310f62d4f43c1058241
  6. 0x34f4de98f860aed478631cac421b987ead08e7d1255949a50273c4880df37162
  7. 0xe8203eba871d4a6ed39a89c667e3a798894796c3eb182ebaf8f1f51880f194eb
  8. 0x42eacf0c2f1325762511e2e4ab7fa6146cbe416b7b2bedc564922527062cf628
  9. 0x12a8628644add05d9c2cce99c77be571b84868246cc33afc7daf5d11fe55b57e
  10. 0xf99eec69e7b273c29cfbdaac6b9d0d445684d8769e059a72e77ed52679165ecc
  11. 0x2b0f6f9a9d5201404fd0cd99316c4ea1c2b3853278de26cb244fc2433c8b6831
  12. 0x8fdfac9874f184de58b63efbdab0fc27674958d741146d02f58b04d3c559cabf
  13. 0xdef3cab0b4070d8ad7f4f91288da4881d19789f131b1b353621df79df04a0617
  14. 0xc4fe2177880ea1b0e82b6fe4c270090fd0fbe5af3a42a8cbf6a6ba2fa35625f6
  15. 0x15039087bf60ae9b06b756ec3cbc299760e59923a438bbd91e34d105186db0ed
  16. 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON