addrbookFor publishers
← The evidence ledger

Evidence row 1537500

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.Fizzl13/presign-guard-wallet
Recorded
Previous row
#1003111
Body SHA-256
9d818ca4feba152b631019212495eb44849c9ad11aea3dd54d14ef1b75a1a3db
Leaf
0xf5af2916cdee94b08326422ff8ecc76e1ebce265046c7db32adb44dd63e891d8

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-31T20:20:04.940956Z",
        "status": "active",
        "statusChangedAt": "2026-10-31T20:20:04.940956Z",
        "updatedAt": "2026-10-31T20:20:04.940956Z"
      }
    },
    "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.30.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.30.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":"9d818ca4feba152b631019212495eb44849c9ad11aea3dd54d14ef1b75a1a3db","id":1537500,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793481414933649,"prev":1003111,"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 (246033 rows).

  1. 0xf5af217759c3ad082b2b69a65aeae478e431d50894164b88e23e41a10a51f56a
  2. 0x6d6e0dddf5c0cc35d8c0e4448677491921391c71853aef642d4d9db9103b53c6
  3. 0xdd9faff0413411e4ee6e479c647fb0d86870253752493b22737681c72bc570f4
  4. 0x4a76f83b67808aa87ec3be0aa8325cd87b5abd194fe76226bf1d4ef23564c5c8
  5. 0x1630479a67b2a2c2e7e4180fe5f3ad15859105340a20d2e801f7b925dafcd5b9
  6. 0x682c90944d88721e3bc878bbac3f08c1f9c4ad73e7a86a44e2e5b32bdb564f6c
  7. 0x697fc061c05de5895e4e325373fff5e9bf1628ff6871b0550d1c8d0f119804f2
  8. 0x3304ba116a5867a6d1e6a3e3f21fa2f4ff2edafbba45a127176e4581aec5440a
  9. 0xace5102c691b617e91fd8f95566e5a535dd58ca3bec78132f8e34799abcec519
  10. 0x9065bb67dea103c4ee263eb98263f088930d98983bc8ad5abc2866b948d303d2
  11. 0x2eacdbbf780dc0bd3a10f7d5565e2fd7947d8cd7a9cca5ad9d669057b94b3dec
  12. 0x257aff49e770984fa31911e2b366f8595a540bfa8bd0992785ea8cbbf02e6ffe
  13. 0x35aeb2af720d62e4e729c2722ba5be89b317dd41ceb7710fd363aea93b412c29
  14. 0xb9926eb0976a5b473833dada1e63c048bf8ef05dbd747135d29c85140274baf8
  15. 0xe9e97d8cdaf19b6da06606a22b4eea548063df6bacb661abea4c37aa637b5c3b
  16. 0x4befbbd74452b2a3a89b7e1e809ba011f1be78aeb8153059503fda47c454d086
  17. 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
  18. 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON