🐴 Gulltoppr

Resolve any EVM contract ABI (even unverified, via decompilation), read, simulate, prepare txs.

使うべきか

品質と安全性

A
説明の品質
91%
スキーマの完全性
79%
命名の品質
87%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'export_registry' description lacks action verbexport_registry 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~6,056トークン数(ツール定義)
~5.0 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 4.73%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "gulltoppr": {
      "url": "https://gulltoppr-mcp.fly.dev/mcp"
    }
  }
}

リモートエンドポイント

https://gulltoppr-mcp.fly.dev/mcpstreamable-http
https://mcp.gulltoppr.dev/mcpstreamable-http

できること

ツール一覧

ツール(12)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢list_chains(q, testnets, has_default_rpc)

List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts.

入力スキーマ

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search by chain id, name, alias, or native symbol; multi-word queries also match token-by-token and without whitespace."
    },
    "testnets": {
      "type": "boolean",
      "description": "When true, only testnets; when false, only mainnets."
    },
    "has_default_rpc": {
      "type": "boolean",
      "description": "When true, only chains gulltoppr can query without rpc_url."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "chains": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "exclusiveMinimum": 0
          },
          "name": {
            "type": "string"
          },
          "aliases": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "testnet": {
            "type": "boolean"
          },
          "has_default_rpc": {
            "type": "boolean"
          },
          "default_rpc_url": {
            "type": "string",
            "pattern": "^https?:\\/\\/\\S+$",
            "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids."
          },
          "native_currency": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "symbol": {
                "type": "string"
              },
              "decimals": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": [
              "name",
              "symbol",
              "decimals"
            ],
            "additionalProperties": true
          },
          "block_explorer_url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "id",
          "name",
          "aliases",
          "testnet",
          "has_default_rpc",
          "native_currency"
        ],
        "additionalProperties": true
      }
    }
  },
  "required": [
    "chains"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢runtime_metrics

Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "uptime_seconds": {
      "type": "integer",
      "minimum": 0
    },
    "metrics": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "attempts": {
            "type": "integer",
            "minimum": 0
          },
          "successes": {
            "type": "integer",
            "minimum": 0
          },
          "misses": {
            "type": "integer",
            "minimum": 0
          },
          "failures": {
            "type": "integer",
            "minimum": 0
          },
          "total_latency_ms": {
            "type": "integer",
            "minimum": 0
          },
          "avg_latency_ms": {
            "type": "integer",
            "minimum": 0
          },
          "max_latency_ms": {
            "type": "integer",
            "minimum": 0
          },
          "failure_rate": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "last_error": {
            "type": "string"
          }
        },
        "required": [
          "attempts",
          "successes",
          "misses",
          "failures",
          "total_latency_ms",
          "avg_latency_ms",
          "max_latency_ms",
          "failure_rate"
        ],
        "additionalProperties": true
      }
    }
  },
  "required": [
    "uptime_seconds",
    "metrics"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢lookup_selector(selector)

Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses.

入力スキーマ

{
  "type": "object",
  "properties": {
    "selector": {
      "type": "string",
      "pattern": "^0x([0-9a-fA-F]{8}|[0-9a-fA-F]{64})$",
      "description": "4-byte function/error selector or 32-byte event topic0."
    }
  },
  "required": [
    "selector"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "selector": {
      "type": "string",
      "pattern": "^0x([0-9a-fA-F]{8}|[0-9a-fA-F]{64})$",
      "description": "4-byte function/error selector or 32-byte event topic0."
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "function",
              "event",
              "error"
            ]
          },
          "signature": {
            "type": "string"
          },
          "proof": {
            "type": "string",
            "enum": [
              "verified-source",
              "keccak-proven"
            ]
          },
          "abi_item": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "array"
              },
              {
                "type": "object",
                "additionalProperties": {}
              },
              {
                "type": "null"
              }
            ]
          },
          "chain": {
            "type": "integer",
            "exclusiveMinimum": 0
          },
          "address": {
            "type": "string",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "description": "0x contract address."
          }
        },
        "required": [
          "kind",
          "signature",
          "proof"
        ],
        "additionalProperties": true
      }
    }
  },
  "required": [
    "selector",
    "entries"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢registry_stats

Read selector commons counts by proof grade and bytecode-match index size.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "selectors": {
      "type": "object",
      "additionalProperties": {
        "type": "integer",
        "minimum": 0
      }
    },
    "bytecodes": {
      "type": "integer",
      "minimum": 0
    }
  },
  "required": [
    "selectors",
    "bytecodes"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢export_registry

Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢resolve_abi(chain, address, method_q, method_kind, method_limit, ...)

Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capability manifest (read vs write functions, the 'buttons'), proxy chain, token metadata, and PROVENANCE. ALWAYS read `provenance`: a `decompiled` ABI has synthetic function names — treat it with care and confirm intent before writing. Partial, proxy, and bytecode-match results lead with a WARNING before the JSON. The compact manifest/provenance is also returned as structuredContent. Use method_q/method_kind/method_limit for large ABIs. Raw ABI is omitted from MCP output to save tokens; use REST/SDK resolve_abi with include_abi=true if needed.

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      ],
      "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "0x contract address."
    },
    "method_q": {
      "type": "string",
      "description": "Case-insensitive manifest method search across names, signatures, parameters, outputs, and hints."
    },
    "method_kind": {
      "type": "string",
      "enum": [
        "read",
        "write",
        "all"
      ],
      "description": "Restrict manifest methods to read, write, or all."
    },
    "method_limit": {
      "type": "integer",
      "minimum": 0,
      "maximum": 500,
      "description": "Maximum number of manifest methods to return after filtering."
    },
    "rpc_url": {
      "type": "string",
      "pattern": "^https?:\\/\\/\\S+$",
      "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids."
    }
  },
  "required": [
    "chain",
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "integer"
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "0x contract address."
    },
    "interface": {
      "type": "object",
      "properties": {
        "reads": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "function": {
                "type": "string"
              },
              "signature": {
                "type": "string"
              },
              "inputs": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "type"
                  ],
                  "additionalProperties": true
                }
              },
              "outputs": {
                "type": "array",
                "items": {
                  "$ref": "#/properties/interface/properties/reads/items/properties/inputs/items"
                }
              },
              "names_synthetic": {
                "type": "boolean"
              },
              "hint": {
                "type": "string"
              }
            },
            "required": [
              "function",
              "signature",
              "inputs",
              "outputs",
              "names_synthetic"
            ],
            "additionalProperties": true
          }
        },
        "writes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "function": {
                "type": "string"
              },
              "signature": {
                "type": "string"
              },
              "inputs": {
                "type": "array",
                "items": {
                  "$ref": "#/properties/interface/properties/reads/items/properties/inputs/items"
                }
              },
              "payable": {
                "type": "boolean"
              },
              "names_synthetic": {
                "type": "boolean"
              },
              "hint": {
                "type": "string"
              }
            },
            "required": [
              "function",
              "signature",
              "inputs",
              "payable",
              "names_synthetic"
            ],
            "additionalProperties": true
          }
        }
      },
      "required": [
        "reads",
        "writes"
      ],
      "additionalProperties": true
    },
    "provenance": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string",
          "enum": [
            "etherscan",
            "sourcify",
            "proxy-impl",
            "bytecode-match",
            "heimdall-decompiled",
            "4byte"
          ]
        },
        "confidence": {
          "type": "string",
          "enum": [
            "verified",
            "partial",
            "decompiled",
            "selector-only"
          ]
        },
        "verified": {
          "type": "boolean"
        },
        "names_synthetic": {
          "type": "boolean"
        },
        "natspec": {
          "type": "boolean"
        },
        "bytecode_match": {
          "type": "object",
          "properties": {
            "chain": {
              "type": "integer"
            },
            "address": {
              "$ref": "#/properties/address"
            },
            "source": {
              "$ref": "#/properties/provenance/properties/source"
            },
            "confidence": {
              "$ref": "#/properties/provenance/properties/confidence"
            }
          },
          "required": [
            "chain",
            "address",
            "source",
            "confidence"
          ],
          "additionalProperties": true
        },
        "notes": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "confidence",
        "verified",
        "names_synthetic",
        "natspec"
      ],
      "additionalProperties": true
    },
    "proxy": {
      "type": "object",
      "properties": {
        "is_proxy": {
          "type": "boolean",
          "const": true
        },
        "pattern": {
          "type": "string",
          "enum": [
            "eip1967",
            "uups",
            "transparent",
            "beacon",
            "diamond",
            "minimal-1167",
            "unknown"
          ]
        },
        "hops": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "address": {
                "$ref": "#/properties/address"
              },
              "role": {
                "type": "string",
                "enum": [
                  "proxy",
                  "implementation",
                  "beacon",
                  "facet"
                ]
              }
            },
            "required": [
              "address",
              "role"
            ],
            "additionalProperties": true
          }
        },
        "resolved_implementation": {
          "$ref": "#/properties/address",
          "description": "0x contract address."
        }
      },
      "required": [
        "is_proxy",
        "pattern",
        "hops"
      ],
      "additionalProperties": true
    },
    "token": {
      "type": "object",
      "properties": {
        "kind": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "erc20",
                "erc721",
                "erc1155"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "symbol": {
          "type": "string"
        },
        "decimals": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": true
    },
    "abi_for": {
      "$ref": "#/properties/address"
    },
    "cached": {
      "type": "boolean"
    },
    "abi_omitted": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "chain",
    "address",
    "interface",
    "provenance",
    "abi_for",
    "cached",
    "abi_omitted"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢read_contract(chain, address, function, args, rpc_url)

Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions.

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      ],
      "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "0x contract address."
    },
    "function": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S",
      "description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded."
    },
    "args": {
      "type": "array",
      "default": [],
      "description": "Function arguments, in order. Pass uint values as decimal strings."
    },
    "rpc_url": {
      "type": "string",
      "pattern": "^https?:\\/\\/\\S+$",
      "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids."
    }
  },
  "required": [
    "chain",
    "address",
    "function"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "decoded": {
      "type": "array"
    },
    "raw": {
      "type": "string",
      "pattern": "^0x([0-9a-fA-F]{2})*$",
      "description": "Raw form: calldata (0x-prefixed hex bytes)."
    },
    "function_signature": {
      "type": "string"
    }
  },
  "required": [
    "decoded",
    "raw",
    "function_signature"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢encode_call(chain, address, function, args, value, ...)

Encode a function call to calldata (0x…) without sending anything.

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      ],
      "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "0x contract address."
    },
    "function": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S",
      "description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded."
    },
    "args": {
      "type": "array",
      "default": [],
      "description": "Function arguments, in order. Pass uint values as decimal strings."
    },
    "value": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Native value in wei (decimal string), for payable functions."
    },
    "rpc_url": {
      "type": "string",
      "pattern": "^https?:\\/\\/\\S+$",
      "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids."
    }
  },
  "required": [
    "chain",
    "address",
    "function"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "data": {
      "type": "string",
      "pattern": "^0x([0-9a-fA-F]{2})*$",
      "description": "Raw form: calldata (0x-prefixed hex bytes)."
    },
    "function_signature": {
      "type": "string"
    }
  },
  "required": [
    "data",
    "function_signature"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢simulate(chain, from, address, function, args, ...)

Simulate a call and return success, gas, decoded return, and best-effort state diff / asset changes / logs. Provide a high-level call (address + function + args) or raw (to + data), never both.

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      ],
      "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
    },
    "from": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The sender address (the user's wallet). No key is needed — nothing is signed."
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "0x contract address."
    },
    "function": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S",
      "description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded."
    },
    "args": {
      "type": "array",
      "default": [],
      "description": "Function arguments, in order. Pass uint values as decimal strings."
    },
    "to": {
      "$ref": "#/properties/address",
      "description": "Raw form: target address."
    },
    "data": {
      "type": "string",
      "pattern": "^0x([0-9a-fA-F]{2})*$",
      "description": "Raw form: calldata (0x-prefixed hex bytes)."
    },
    "value": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Native value in wei (decimal string), for payable functions."
    },
    "rpc_url": {
      "type": "string",
      "pattern": "^https?:\\/\\/\\S+$",
      "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids."
    }
  },
  "required": [
    "chain",
    "from"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "gas_used": {
      "type": "integer",
      "minimum": 0
    },
    "return_value": {
      "type": "object",
      "properties": {
        "decoded": {
          "type": "array"
        },
        "raw": {
          "type": "string",
          "pattern": "^0x([0-9a-fA-F]{2})*$",
          "description": "Raw form: calldata (0x-prefixed hex bytes)."
        }
      },
      "required": [
        "decoded",
        "raw"
      ],
      "additionalProperties": true
    },
    "state_diff": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "pattern": "^0x[0-9a-fA-F]{40}$",
            "description": "0x contract address."
          },
          "slot_label": {
            "type": "string"
          },
          "before": {
            "type": "string"
          },
          "after": {
            "type": "string"
          }
        },
        "required": [
          "address",
          "before",
          "after"
        ],
        "additionalProperties": true
      }
    },
    "asset_changes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/properties/state_diff/items/properties/address"
          },
          "token": {
            "$ref": "#/properties/state_diff/items/properties/address"
          },
          "symbol": {
            "type": "string"
          },
          "delta": {
            "type": "string",
            "pattern": "^-?\\d+$"
          },
          "kind": {
            "type": "string",
            "enum": [
              "erc20",
              "erc721",
              "erc1155",
              "native"
            ]
          }
        },
        "required": [
          "address",
          "token",
          "delta",
          "kind"
        ],
        "additionalProperties": true
      }
    },
    "logs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/properties/state_diff/items/properties/address"
          },
          "event": {
            "type": "string"
          },
          "args": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": true
      }
    },
    "revert": {
      "type": "object",
      "properties": {
        "reason": {
          "type": "string"
        },
        "decoded": {
          "type": "string"
        }
      },
      "required": [
        "reason"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "success",
    "gas_used",
    "state_diff",
    "asset_changes",
    "logs"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡prepare_tx(chain, address, function, args, from, ...)

Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configured signing deeplink, and an EIP-1193 wallet request when signing is recommended. IMPORTANT: this tool NEVER signs or broadcasts. Present the summary + simulation + warnings to the user. Only hand them the `deeplink` or `wallet_request` when `safety.signing_recommended` is true. If `safety.risk_level` is high or blocked, make that explicit; blocked means do not send.

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      ],
      "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "0x contract address."
    },
    "function": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S",
      "description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded."
    },
    "args": {
      "type": "array",
      "default": [],
      "description": "Function arguments, in order. Pass uint values as decimal strings."
    },
    "from": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "The sender address (the user's wallet). No key is needed — nothing is signed."
    },
    "value": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Native value in wei (decimal string), for payable functions."
    },
    "rpc_url": {
      "type": "string",
      "pattern": "^https?:\\/\\/\\S+$",
      "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids."
    }
  },
  "required": [
    "chain",
    "address",
    "function",
    "from"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "unsigned_tx": {
      "type": "object",
      "properties": {
        "chainId": {
          "type": "integer"
        },
        "to": {
          "type": "string",
          "pattern": "^0x[0-9a-fA-F]{40}$",
          "description": "0x contract address."
        },
        "from": {
          "type": "string",
          "pattern": "^0x[0-9a-fA-F]{40}$",
          "description": "The sender address (the user's wallet). No key is needed — nothing is signed."
        },
        "data": {
          "type": "string",
          "pattern": "^0x([0-9a-fA-F]{2})*$",
          "description": "Raw form: calldata (0x-prefixed hex bytes)."
        },
        "value": {
          "type": "string",
          "pattern": "^\\d+$"
        },
        "gas": {
          "type": "string",
          "pattern": "^\\d+$"
        }
      },
      "required": [
        "chainId",
        "to",
        "from",
        "data",
        "value"
      ],
      "additionalProperties": true
    },
    "simulation": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        },
        "gas_used": {
          "type": "integer",
          "minimum": 0
        },
        "state_diff": {
          "type": "array"
        },
        "asset_changes": {
          "type": "array"
        },
        "logs": {
          "type": "array"
        },
        "return_value": {},
        "revert": {}
      },
      "required": [
        "success",
        "gas_used",
        "state_diff",
        "asset_changes",
        "logs"
      ],
      "additionalProperties": true
    },
    "human_summary": {
      "type": "string"
    },
    "deeplink": {
      "type": "string"
    },
    "wallet_request": {},
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "safety": {
      "type": "object",
      "properties": {
        "signing_recommended": {
          "type": "boolean"
        },
        "risk_level": {
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high",
            "blocked"
          ]
        },
        "requires_human_confirmation": {
          "type": "boolean"
        },
        "reasons": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "abi_names_inferred",
              "proxy",
              "simulation_failed",
              "native_value",
              "spending_approval",
              "asset_outflow"
            ]
          }
        }
      },
      "required": [
        "signing_recommended",
        "risk_level",
        "requires_human_confirmation",
        "reasons"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "unsigned_tx",
    "simulation",
    "human_summary",
    "deeplink",
    "warnings",
    "safety"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢decode_tx(chain, tx_hash, rpc_url)

Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed function/arg names, and read its provenance.

入力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      ],
      "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
    },
    "tx_hash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$",
      "description": "0x transaction hash."
    },
    "rpc_url": {
      "type": "string",
      "pattern": "^https?:\\/\\/\\S+$",
      "description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids."
    }
  },
  "required": [
    "chain",
    "tx_hash"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "integer"
    },
    "tx_hash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$",
      "description": "0x transaction hash."
    },
    "source": {
      "type": "string"
    },
    "cached": {
      "type": "boolean"
    },
    "decoded": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "array"
        },
        {
          "type": "object",
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ]
    },
    "provenance": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "confidence": {
          "type": "string",
          "const": "decompiled"
        },
        "verified": {
          "type": "boolean",
          "const": false
        },
        "names_synthetic": {
          "type": "boolean",
          "const": true
        }
      },
      "required": [
        "source",
        "confidence",
        "verified",
        "names_synthetic"
      ],
      "additionalProperties": true
    },
    "decoded_call": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "to": {
              "type": "string",
              "pattern": "^0x[0-9a-fA-F]{40}$",
              "description": "0x contract address."
            },
            "function": {
              "type": "string"
            },
            "signature": {
              "type": "string"
            },
            "args": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "value": {
                    "$ref": "#/properties/decoded"
                  }
                },
                "required": [
                  "name",
                  "type",
                  "value"
                ],
                "additionalProperties": true
              }
            },
            "abi_for": {
              "$ref": "#/properties/decoded_call/anyOf/0/properties/to"
            },
            "provenance": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string",
                  "enum": [
                    "etherscan",
                    "sourcify",
                    "proxy-impl",
                    "bytecode-match",
                    "heimdall-decompiled",
                    "4byte"
                  ]
                },
                "confidence": {
                  "type": "string",
                  "enum": [
                    "verified",
                    "partial",
                    "decompiled",
                    "selector-only"
                  ]
                },
                "verified": {
                  "type": "boolean"
                },
                "names_synthetic": {
                  "type": "boolean"
                },
                "natspec": {
                  "type": "boolean"
                },
                "bytecode_match": {
                  "type": "object",
                  "properties": {
                    "chain": {
                      "type": "integer"
                    },
                    "address": {
                      "$ref": "#/properties/decoded_call/anyOf/0/properties/to"
                    },
                    "source": {
                      "$ref": "#/properties/decoded_call/anyOf/0/properties/provenance/properties/source"
                    },
                    "confidence": {
                      "$ref": "#/properties/decoded_call/anyOf/0/properties/provenance/properties/confidence"
                    }
                  },
                  "required": [
                    "chain",
                    "address",
                    "source",
                    "confidence"
                  ],
                  "additionalProperties": true
                },
                "notes": {
                  "type": "string"
                }
              },
              "required": [
                "source",
                "confidence",
                "verified",
                "names_synthetic",
                "natspec"
              ],
              "additionalProperties": true
            }
          },
          "required": [
            "to",
            "function",
            "signature",
            "args",
            "abi_for",
            "provenance"
          ],
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "chain",
    "tx_hash",
    "source",
    "cached",
    "decoded",
    "provenance"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢resolve_name(name, chain)

Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S",
      "description": "An ENS/Basename (vitalik.eth, name.base.eth) or a 0x address."
    },
    "chain": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      ],
      "description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "0x contract address."
    },
    "name": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 12 件
検証済みバージョンは記録されていませんツール 12 件
検証済みバージョンは記録されていませんツール 12 件