🐴 Gulltoppr
Resolve any EVM contract ABI (even unverified, via decompilation), read, simulate, prepare txs.
我该使用它吗
质量与安全性
发现(1)
- LOW在 export_registry 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"gulltoppr": {
"url": "https://gulltoppr-mcp.fly.dev/mcp"
}
}
}远程端点
https://gulltoppr-mcp.fly.dev/mcpstreamable-httphttps://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#"
}社区
证据