addrbookFor publishers
← The evidence ledger

Evidence row 442885

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.Fizzl13/presign-guard-wallet
Recorded
Previous row
#28102
Body SHA-256
96c521f921a4f4da4c6e030451fdcf0d0b80708258a144497b4052cfb261aa93
Leaf
0xa5e7fffe96e0251842c5bb9eb179fb6a40d182f1500f729cb3178126ab9dc050

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-27T08:56:04.295406Z",
        "status": "active",
        "statusChangedAt": "2026-10-27T08:56:04.295406Z",
        "updatedAt": "2026-10-27T08:56:04.295406Z"
      }
    },
    "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.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.29.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":"96c521f921a4f4da4c6e030451fdcf0d0b80708258a144497b4052cfb261aa93","id":442885,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793093256226766,"prev":28102,"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 (273461 rows).

  1. 0xa5e801d5fb20d7077d9642b7ef1b940ec3d012a2b4cdeb9e13f70cf6cf559df3
  2. 0xb92880b041d66f6a5bbf7023360fddd271bcf3f43617f541d8ad165a1ec66581
  3. 0xcc163907e7edca3d3440593a8282d548dcea103da25bba03b25688e8fb6c477a
  4. 0xc4003ff95514b2962d5973c0104650f16a52d11f128570a758e1268635a26626
  5. 0xf8b8e7f92b9ab7dac561b911f589f75fcf696cd07f965ecfbe09881431e8cd68
  6. 0x867a90a94ac03c3eb24c95bbb28977713a9912499761fd4f9e31de3fc71e5bfe
  7. 0x0a0a5b780f5d33a48ceea6c0155d2c7d263186f50c0c7b152517733e59729026
  8. 0x4f42e34d798d97a426951d634e2a88a2cff5b8d13ddc44d75cfb8e2cb2d92441
  9. 0x29c25246b5016a3b27ff3c79af1611fa5516f0d6c95c2ca6e9900bb7c1deba1d
  10. 0x99eecac57123d9ae94240e923031e14d88325c55b0ede1b3cfa92914ef9e1293
  11. 0x034cc06723268ab88a0185a8a88debb3a8fa6b85f9f28c3208420f7ab19160f8
  12. 0x98f564dcc2f0d0fd67cbc3a17211687e12a4becc9b9c47ef78c02ff7431b734a
  13. 0xb37156a04839055daed26674da38864f8dae598cab9742c6fb3e74eb3178f2d4
  14. 0x0644f7e2a4b5bf9b66f185cc3fbb766d456ad94490183852f4c6db5855114cc5
  15. 0xa3fff4662cd48659f5bafd0612931759a90e53a7b4209ed8f26f6594a07bb547
  16. 0x64c405a28e8819716221eb2529fe4ce277ab08025e17e685cbd5ece75ceb75c7
  17. 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON