Server definition
- Hash
- sha256:c96c235615764eea2bdec58c6773adc9fd2b33bd1e75b9a9f2c011e6eb35cd11
- What it is
- What a remote MCP server returned when asked what it offers: 12 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chain": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"exclusiveMinimum": 0,
"type": "integer"
}
],
"description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
},
"rpc_url": {
"description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
"pattern": "^https?:\\/\\/\\S+$",
"type": "string"
},
"tx_hash": {
"description": "0x transaction hash.",
"pattern": "^0x[0-9a-fA-F]{64}$",
"type": "string"
}
},
"required": [
"chain",
"tx_hash"
],
"type": "object"
},
"name": "decode_tx",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cached": {
"type": "boolean"
},
"chain": {
"type": "integer"
},
"decoded": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array"
},
{
"additionalProperties": {},
"type": "object"
},
{
"type": "null"
}
]
},
"decoded_call": {
"anyOf": [
{
"additionalProperties": true,
"properties": {
"abi_for": {
"$ref": "#/properties/decoded_call/anyOf/0/properties/to"
},
"args": {
"items": {
"additionalProperties": true,
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"$ref": "#/properties/decoded"
}
},
"required": [
"name",
"type",
"value"
],
"type": "object"
},
"type": "array"
},
"function": {
"type": "string"
},
"provenance": {
"additionalProperties": true,
"properties": {
"bytecode_match": {
"additionalProperties": true,
"properties": {
"address": {
"$ref": "#/properties/decoded_call/anyOf/0/properties/to"
},
"chain": {
"type": "integer"
},
"confidence": {
"$ref": "#/properties/decoded_call/anyOf/0/properties/provenance/properties/confidence"
},
"source": {
"$ref": "#/properties/decoded_call/anyOf/0/properties/provenance/properties/source"
}
},
"required": [
"chain",
"address",
"source",
"confidence"
],
"type": "object"
},
"confidence": {
"enum": [
"verified",
"partial",
"decompiled",
"selector-only"
],
"type": "string"
},
"names_synthetic": {
"type": "boolean"
},
"natspec": {
"type": "boolean"
},
"notes": {
"type": "string"
},
"source": {
"enum": [
"etherscan",
"sourcify",
"proxy-impl",
"bytecode-match",
"heimdall-decompiled",
"4byte"
],
"type": "string"
},
"verified": {
"type": "boolean"
}
},
"required": [
"source",
"confidence",
"verified",
"names_synthetic",
"natspec"
],
"type": "object"
},
"signature": {
"type": "string"
},
"to": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
}
},
"required": [
"to",
"function",
"signature",
"args",
"abi_for",
"provenance"
],
"type": "object"
},
{
"type": "null"
}
]
},
"provenance": {
"additionalProperties": true,
"properties": {
"confidence": {
"const": "decompiled",
"type": "string"
},
"names_synthetic": {
"const": true,
"type": "boolean"
},
"source": {
"type": "string"
},
"verified": {
"const": false,
"type": "boolean"
}
},
"required": [
"source",
"confidence",
"verified",
"names_synthetic"
],
"type": "object"
},
"source": {
"type": "string"
},
"tx_hash": {
"description": "0x transaction hash.",
"pattern": "^0x[0-9a-fA-F]{64}$",
"type": "string"
}
},
"required": [
"chain",
"tx_hash",
"source",
"cached",
"decoded",
"provenance"
],
"type": "object"
}
},
{
"description": "Encode a function call to calldata (0x…) without sending anything.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"args": {
"default": [],
"description": "Function arguments, in order. Pass uint values as decimal strings.",
"type": "array"
},
"chain": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"exclusiveMinimum": 0,
"type": "integer"
}
],
"description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
},
"function": {
"description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded.",
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rpc_url": {
"description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
"pattern": "^https?:\\/\\/\\S+$",
"type": "string"
},
"value": {
"description": "Native value in wei (decimal string), for payable functions.",
"pattern": "^\\d+$",
"type": "string"
}
},
"required": [
"chain",
"address",
"function"
],
"type": "object"
},
"name": "encode_call",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"data": {
"description": "Raw form: calldata (0x-prefixed hex bytes).",
"pattern": "^0x([0-9a-fA-F]{2})*$",
"type": "string"
},
"function_signature": {
"type": "string"
}
},
"required": [
"data",
"function_signature"
],
"type": "object"
}
},
{
"description": "Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "export_registry",
"outputSchema": null
},
{
"description": "List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"has_default_rpc": {
"description": "When true, only chains gulltoppr can query without rpc_url.",
"type": "boolean"
},
"q": {
"description": "Search by chain id, name, alias, or native symbol; multi-word queries also match token-by-token and without whitespace.",
"type": "string"
},
"testnets": {
"description": "When true, only testnets; when false, only mainnets.",
"type": "boolean"
}
},
"type": "object"
},
"name": "list_chains",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chains": {
"items": {
"additionalProperties": true,
"properties": {
"aliases": {
"items": {
"type": "string"
},
"type": "array"
},
"block_explorer_url": {
"format": "uri",
"type": "string"
},
"default_rpc_url": {
"description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
"pattern": "^https?:\\/\\/\\S+$",
"type": "string"
},
"has_default_rpc": {
"type": "boolean"
},
"id": {
"exclusiveMinimum": 0,
"type": "integer"
},
"name": {
"type": "string"
},
"native_currency": {
"additionalProperties": true,
"properties": {
"decimals": {
"minimum": 0,
"type": "integer"
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
}
},
"required": [
"name",
"symbol",
"decimals"
],
"type": "object"
},
"testnet": {
"type": "boolean"
}
},
"required": [
"id",
"name",
"aliases",
"testnet",
"has_default_rpc",
"native_currency"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"chains"
],
"type": "object"
}
},
{
"description": "Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"selector": {
"description": "4-byte function/error selector or 32-byte event topic0.",
"pattern": "^0x([0-9a-fA-F]{8}|[0-9a-fA-F]{64})$",
"type": "string"
}
},
"required": [
"selector"
],
"type": "object"
},
"name": "lookup_selector",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"entries": {
"items": {
"additionalProperties": true,
"properties": {
"abi_item": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array"
},
{
"additionalProperties": {},
"type": "object"
},
{
"type": "null"
}
]
},
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"chain": {
"exclusiveMinimum": 0,
"type": "integer"
},
"kind": {
"enum": [
"function",
"event",
"error"
],
"type": "string"
},
"proof": {
"enum": [
"verified-source",
"keccak-proven"
],
"type": "string"
},
"signature": {
"type": "string"
}
},
"required": [
"kind",
"signature",
"proof"
],
"type": "object"
},
"type": "array"
},
"selector": {
"description": "4-byte function/error selector or 32-byte event topic0.",
"pattern": "^0x([0-9a-fA-F]{8}|[0-9a-fA-F]{64})$",
"type": "string"
}
},
"required": [
"selector",
"entries"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"args": {
"default": [],
"description": "Function arguments, in order. Pass uint values as decimal strings.",
"type": "array"
},
"chain": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"exclusiveMinimum": 0,
"type": "integer"
}
],
"description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
},
"from": {
"description": "The sender address (the user's wallet). No key is needed — nothing is signed.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"function": {
"description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded.",
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rpc_url": {
"description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
"pattern": "^https?:\\/\\/\\S+$",
"type": "string"
},
"value": {
"description": "Native value in wei (decimal string), for payable functions.",
"pattern": "^\\d+$",
"type": "string"
}
},
"required": [
"chain",
"address",
"function",
"from"
],
"type": "object"
},
"name": "prepare_tx",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"deeplink": {
"type": "string"
},
"human_summary": {
"type": "string"
},
"safety": {
"additionalProperties": true,
"properties": {
"reasons": {
"items": {
"enum": [
"abi_names_inferred",
"proxy",
"simulation_failed",
"native_value",
"spending_approval",
"asset_outflow"
],
"type": "string"
},
"type": "array"
},
"requires_human_confirmation": {
"type": "boolean"
},
"risk_level": {
"enum": [
"low",
"medium",
"high",
"blocked"
],
"type": "string"
},
"signing_recommended": {
"type": "boolean"
}
},
"required": [
"signing_recommended",
"risk_level",
"requires_human_confirmation",
"reasons"
],
"type": "object"
},
"simulation": {
"additionalProperties": true,
"properties": {
"asset_changes": {
"type": "array"
},
"gas_used": {
"minimum": 0,
"type": "integer"
},
"logs": {
"type": "array"
},
"return_value": {},
"revert": {},
"state_diff": {
"type": "array"
},
"success": {
"type": "boolean"
}
},
"required": [
"success",
"gas_used",
"state_diff",
"asset_changes",
"logs"
],
"type": "object"
},
"unsigned_tx": {
"additionalProperties": true,
"properties": {
"chainId": {
"type": "integer"
},
"data": {
"description": "Raw form: calldata (0x-prefixed hex bytes).",
"pattern": "^0x([0-9a-fA-F]{2})*$",
"type": "string"
},
"from": {
"description": "The sender address (the user's wallet). No key is needed — nothing is signed.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"gas": {
"pattern": "^\\d+$",
"type": "string"
},
"to": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"value": {
"pattern": "^\\d+$",
"type": "string"
}
},
"required": [
"chainId",
"to",
"from",
"data",
"value"
],
"type": "object"
},
"wallet_request": {},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"unsigned_tx",
"simulation",
"human_summary",
"deeplink",
"warnings",
"safety"
],
"type": "object"
}
},
{
"description": "Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"args": {
"default": [],
"description": "Function arguments, in order. Pass uint values as decimal strings.",
"type": "array"
},
"chain": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"exclusiveMinimum": 0,
"type": "integer"
}
],
"description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
},
"function": {
"description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded.",
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rpc_url": {
"description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
"pattern": "^https?:\\/\\/\\S+$",
"type": "string"
}
},
"required": [
"chain",
"address",
"function"
],
"type": "object"
},
"name": "read_contract",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"decoded": {
"type": "array"
},
"function_signature": {
"type": "string"
},
"raw": {
"description": "Raw form: calldata (0x-prefixed hex bytes).",
"pattern": "^0x([0-9a-fA-F]{2})*$",
"type": "string"
}
},
"required": [
"decoded",
"raw",
"function_signature"
],
"type": "object"
}
},
{
"description": "Read selector commons counts by proof grade and bytecode-match index size.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "registry_stats",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"bytecodes": {
"minimum": 0,
"type": "integer"
},
"selectors": {
"additionalProperties": {
"minimum": 0,
"type": "integer"
},
"type": "object"
}
},
"required": [
"selectors",
"bytecodes"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"chain": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"exclusiveMinimum": 0,
"type": "integer"
}
],
"description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
},
"method_kind": {
"description": "Restrict manifest methods to read, write, or all.",
"enum": [
"read",
"write",
"all"
],
"type": "string"
},
"method_limit": {
"description": "Maximum number of manifest methods to return after filtering.",
"maximum": 500,
"minimum": 0,
"type": "integer"
},
"method_q": {
"description": "Case-insensitive manifest method search across names, signatures, parameters, outputs, and hints.",
"type": "string"
},
"rpc_url": {
"description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
"pattern": "^https?:\\/\\/\\S+$",
"type": "string"
}
},
"required": [
"chain",
"address"
],
"type": "object"
},
"name": "resolve_abi",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"abi_for": {
"$ref": "#/properties/address"
},
"abi_omitted": {
"const": true,
"type": "boolean"
},
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"cached": {
"type": "boolean"
},
"chain": {
"type": "integer"
},
"interface": {
"additionalProperties": true,
"properties": {
"reads": {
"items": {
"additionalProperties": true,
"properties": {
"function": {
"type": "string"
},
"hint": {
"type": "string"
},
"inputs": {
"items": {
"additionalProperties": true,
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"name",
"type"
],
"type": "object"
},
"type": "array"
},
"names_synthetic": {
"type": "boolean"
},
"outputs": {
"items": {
"$ref": "#/properties/interface/properties/reads/items/properties/inputs/items"
},
"type": "array"
},
"signature": {
"type": "string"
}
},
"required": [
"function",
"signature",
"inputs",
"outputs",
"names_synthetic"
],
"type": "object"
},
"type": "array"
},
"writes": {
"items": {
"additionalProperties": true,
"properties": {
"function": {
"type": "string"
},
"hint": {
"type": "string"
},
"inputs": {
"items": {
"$ref": "#/properties/interface/properties/reads/items/properties/inputs/items"
},
"type": "array"
},
"names_synthetic": {
"type": "boolean"
},
"payable": {
"type": "boolean"
},
"signature": {
"type": "string"
}
},
"required": [
"function",
"signature",
"inputs",
"payable",
"names_synthetic"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"reads",
"writes"
],
"type": "object"
},
"provenance": {
"additionalProperties": true,
"properties": {
"bytecode_match": {
"additionalProperties": true,
"properties": {
"address": {
"$ref": "#/properties/address"
},
"chain": {
"type": "integer"
},
"confidence": {
"$ref": "#/properties/provenance/properties/confidence"
},
"source": {
"$ref": "#/properties/provenance/properties/source"
}
},
"required": [
"chain",
"address",
"source",
"confidence"
],
"type": "object"
},
"confidence": {
"enum": [
"verified",
"partial",
"decompiled",
"selector-only"
],
"type": "string"
},
"names_synthetic": {
"type": "boolean"
},
"natspec": {
"type": "boolean"
},
"notes": {
"type": "string"
},
"source": {
"enum": [
"etherscan",
"sourcify",
"proxy-impl",
"bytecode-match",
"heimdall-decompiled",
"4byte"
],
"type": "string"
},
"verified": {
"type": "boolean"
}
},
"required": [
"source",
"confidence",
"verified",
"names_synthetic",
"natspec"
],
"type": "object"
},
"proxy": {
"additionalProperties": true,
"properties": {
"hops": {
"items": {
"additionalProperties": true,
"properties": {
"address": {
"$ref": "#/properties/address"
},
"role": {
"enum": [
"proxy",
"implementation",
"beacon",
"facet"
],
"type": "string"
}
},
"required": [
"address",
"role"
],
"type": "object"
},
"type": "array"
},
"is_proxy": {
"const": true,
"type": "boolean"
},
"pattern": {
"enum": [
"eip1967",
"uups",
"transparent",
"beacon",
"diamond",
"minimal-1167",
"unknown"
],
"type": "string"
},
"resolved_implementation": {
"$ref": "#/properties/address",
"description": "0x contract address."
}
},
"required": [
"is_proxy",
"pattern",
"hops"
],
"type": "object"
},
"token": {
"additionalProperties": true,
"properties": {
"decimals": {
"type": "integer"
},
"kind": {
"anyOf": [
{
"enum": [
"erc20",
"erc721",
"erc1155"
],
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"symbol": {
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
}
},
"required": [
"chain",
"address",
"interface",
"provenance",
"abi_for",
"cached",
"abi_omitted"
],
"type": "object"
}
},
{
"description": "Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chain": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"exclusiveMinimum": 0,
"type": "integer"
}
],
"description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
},
"name": {
"description": "An ENS/Basename (vitalik.eth, name.base.eth) or a 0x address.",
"minLength": 1,
"pattern": "\\S",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "resolve_name",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
}
},
{
"description": "Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "runtime_metrics",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"metrics": {
"additionalProperties": {
"additionalProperties": true,
"properties": {
"attempts": {
"minimum": 0,
"type": "integer"
},
"avg_latency_ms": {
"minimum": 0,
"type": "integer"
},
"failure_rate": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"failures": {
"minimum": 0,
"type": "integer"
},
"last_error": {
"type": "string"
},
"max_latency_ms": {
"minimum": 0,
"type": "integer"
},
"misses": {
"minimum": 0,
"type": "integer"
},
"successes": {
"minimum": 0,
"type": "integer"
},
"total_latency_ms": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"attempts",
"successes",
"misses",
"failures",
"total_latency_ms",
"avg_latency_ms",
"max_latency_ms",
"failure_rate"
],
"type": "object"
},
"type": "object"
},
"uptime_seconds": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"uptime_seconds",
"metrics"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"args": {
"default": [],
"description": "Function arguments, in order. Pass uint values as decimal strings.",
"type": "array"
},
"chain": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"exclusiveMinimum": 0,
"type": "integer"
}
],
"description": "Chain alias from GET /v1/chains (for example \"ethereum\", \"base\", \"monad\", \"bsc\") or numeric EIP-155 chain id."
},
"data": {
"description": "Raw form: calldata (0x-prefixed hex bytes).",
"pattern": "^0x([0-9a-fA-F]{2})*$",
"type": "string"
},
"from": {
"description": "The sender address (the user's wallet). No key is needed — nothing is signed.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"function": {
"description": "Function name, or full signature like \"transfer(address,uint256)\" if overloaded.",
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"rpc_url": {
"description": "Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.",
"pattern": "^https?:\\/\\/\\S+$",
"type": "string"
},
"to": {
"$ref": "#/properties/address",
"description": "Raw form: target address."
},
"value": {
"description": "Native value in wei (decimal string), for payable functions.",
"pattern": "^\\d+$",
"type": "string"
}
},
"required": [
"chain",
"from"
],
"type": "object"
},
"name": "simulate",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"asset_changes": {
"items": {
"additionalProperties": true,
"properties": {
"address": {
"$ref": "#/properties/state_diff/items/properties/address"
},
"delta": {
"pattern": "^-?\\d+$",
"type": "string"
},
"kind": {
"enum": [
"erc20",
"erc721",
"erc1155",
"native"
],
"type": "string"
},
"symbol": {
"type": "string"
},
"token": {
"$ref": "#/properties/state_diff/items/properties/address"
}
},
"required": [
"address",
"token",
"delta",
"kind"
],
"type": "object"
},
"type": "array"
},
"gas_used": {
"minimum": 0,
"type": "integer"
},
"logs": {
"items": {
"additionalProperties": true,
"properties": {
"address": {
"$ref": "#/properties/state_diff/items/properties/address"
},
"args": {
"additionalProperties": {},
"type": "object"
},
"event": {
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"type": "array"
},
"return_value": {
"additionalProperties": true,
"properties": {
"decoded": {
"type": "array"
},
"raw": {
"description": "Raw form: calldata (0x-prefixed hex bytes).",
"pattern": "^0x([0-9a-fA-F]{2})*$",
"type": "string"
}
},
"required": [
"decoded",
"raw"
],
"type": "object"
},
"revert": {
"additionalProperties": true,
"properties": {
"decoded": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"reason"
],
"type": "object"
},
"state_diff": {
"items": {
"additionalProperties": true,
"properties": {
"address": {
"description": "0x contract address.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"after": {
"type": "string"
},
"before": {
"type": "string"
},
"slot_label": {
"type": "string"
}
},
"required": [
"address",
"before",
"after"
],
"type": "object"
},
"type": "array"
},
"success": {
"type": "boolean"
}
},
"required": [
"success",
"gas_used",
"state_diff",
"asset_changes",
"logs"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c96c235615764eea2bdec58c6773adc9fd2b33bd1e75b9a9f2c011e6eb35cd11 | sha256sum