addrbookFor publishers
← The evidence ledger

Evidence row 44755

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.nirholas/onchain-agent-wallets
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
8789aab9225b50b9dd30ddab0b04ab6456b4aed48bb018b2cf8eafc5b6335c24
Leaf
0xace9d7acb55608e0fcb387ab0ba0ead0d321e0198cef01f7f28cd437d121af60

What was observed

{
  "endpoints": [
    [
      "web",
      "https://three.ws/"
    ]
  ],
  "name": "Onchain Agent Wallets",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-10T20:46:35.254196Z",
        "status": "active",
        "statusChangedAt": "2026-10-10T20:46:35.254196Z",
        "updatedAt": "2026-10-10T20:46:35.254196Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Give an AI agent a Solana spending allowance instead of your key. Chain-enforced cap, x402.",
      "icons": [
        {
          "mimeType": "image/svg+xml",
          "sizes": [
            "any"
          ],
          "src": "https://three.ws/three-ws-mcp-icon.svg"
        }
      ],
      "name": "io.github.nirholas/onchain-agent-wallets",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Owner secret key, base58 or a JSON byte array. Optional: without it every owner action is returned as an unsigned transaction for Phantom, Solflare, Backpack, or a Ledger to sign.",
              "format": "string",
              "isSecret": true,
              "name": "OWNER_SECRET_KEY"
            },
            {
              "default": "mainnet",
              "description": "Cluster: mainnet or devnet. Defaults to mainnet. State is kept per network, so a devnet rehearsal never touches mainnet agents.",
              "format": "string",
              "name": "OAW_NETWORK"
            },
            {
              "description": "HTTPS Solana RPC endpoint. Defaults to the public endpoint for the configured network; bring your own (Helius / Quicknode / Triton) for production.",
              "format": "string",
              "name": "SOLANA_RPC_URL"
            },
            {
              "description": "Where agent keypairs, guardrails, and the spend ledger are stored. Defaults to ~/.onchain-agent-wallets, written 0600 inside a 0700 directory.",
              "format": "string",
              "name": "OAW_STATE_DIR"
            },
            {
              "default": "true",
              "description": "Refuse to broadcast anything that moves value until the call is re-issued with confirm:true. Default true.",
              "format": "boolean",
              "name": "REQUIRE_CONFIRM"
            }
          ],
          "identifier": "@three-ws/onchain-agent-wallets",
          "registryType": "npm",
          "runtimeHint": "npx",
          "transport": {
            "type": "stdio"
          },
          "version": "0.1.1"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/nirholas/onchain-agent-wallets"
      },
      "title": "Onchain Agent Wallets",
      "version": "0.1.1",
      "websiteUrl": "https://three.ws"
    }
  },
  "source": "mcp_registry",
  "summary": "Give an AI agent a Solana spending allowance instead of your key. Chain-enforced cap, x402."
}

What the leaf hashes

{"body":"8789aab9225b50b9dd30ddab0b04ab6456b4aed48bb018b2cf8eafc5b6335c24","id":44755,"kind":"listing","method":"baseline/1","observed_us":1793025405191576,"prev":null,"subject":"mcp_registry:io.github.nirholas/onchain-agent-wallets","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. 0xace99fbe14c301a3cc64020f69449c2b456fabf925638b4c2532495da3737cfc
  2. 0xd919a17f64fd29955401399cc2375826b96f74e59c656ea96cbd1cdb8fe02544
  3. 0x257763d643a74a76175f1aa57099a9cc0d9f2ad2b31db1a2e5d9839e420e4a9b
  4. 0x398ef3c2c6578c5a45fbcb1d637210e68aecfe470b0ae3bf81871ce29c4f29c7
  5. 0xbf028d203bc412e92abbb2d17d107b2e960ebcbdbe9d78a932b8196e4d63eb9c
  6. 0x5031d842e1347f3db0954391566ee8133b3b6e880e7c562db53185853e0d79e6
  7. 0xc3455e7f831c2c14ee4d64f1f50eb2a1ed356e51ee9eabd76d2e3db218cdb84e
  8. 0x922ee564c308b5fefb4ef36e969409fa6dfa04b2e170f8e79a07b3d6f0e3b974
  9. 0xec7748301b53a094c6871993c6f94360fdf3a4aab92da0887306b91527e8bfbc
  10. 0x937e8e9fb917c637f64525eb09f72a51d31db27c42e43480a2a8615042dc1fcb
  11. 0x3777e64f7ac9f40ae7e4f13404a570afc2a739656a377469485865c026d1c99c
  12. 0xb7fae69bb7bd717d54a83df961404a3e4de2a5cfbcfa013fd83a38627fe13f7e
  13. 0x4700d6dfdb40e52e2ceb8ffe62c75f3f708d23452f828255fd003d795f5d9d66
  14. 0x3b4dba7d874fc323b0a364140a9c60f37bf547fe671897653118a9873fe03420
  15. 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON