Read-only crypto safety: token honeypot checks, EIP-712 signature decode, approval scans.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
PAID $0.01 (x402, USDC on Base). Scan a wallet's ERC-20/721 approvals ranked by exposure; flags unlimited amounts, unverified/known-malicious spenders, and address-poisoning 'fake-approval revoke bait'; returns the exact revoke calldata you execute YOURSELF (never executed/broadcast by us). Without payment returns the x402 challenge; pass x_payment. Free teaser: approvals_free.
Chain: ethereum | base | bsc | polygon | arbitrum | optimism.
0x wallet address to scan.
x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
PAID $0.01 (x402, USDC on Base). Scan a wallet's ERC-20/721 approvals ranked by exposure; flags unlimited amounts, unverified/known-malicious spenders, and address-poisoning 'fake-approval revoke bait'; returns the exact revoke calldata you execute YOURSELF (never executed/broadcast by us). Without payment returns the x402 challenge; pass x_payment. Free teaser: approvals_free.
| Argument | Type | Description |
|---|---|---|
| chain* | string | Chain: ethereum | base | bsc | polygon | arbitrum | optimism. |
| address* | string | 0x wallet address to scan. |
| x_payment | string | x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"chain"
],
"properties": {
"chain": {
"type": "string",
"description": "Chain: ethereum | base | bsc | polygon | arbitrum | optimism."
},
"address": {
"type": "string",
"description": "0x wallet address to scan."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"additionalProperties": false
}FREE. Approval counts + top-3 riskiest spenders for {address, chain}. Real result, no wallet. Upgrade to approvals for EVERY approval ranked + revoke calldata.
| Argument | Type | Description |
|---|---|---|
| chain* | string | Chain: ethereum | base | bsc | polygon | arbitrum | optimism. |
| address* | string | 0x wallet address to scan. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"chain"
],
"properties": {
"chain": {
"type": "string",
"description": "Chain: ethereum | base | bsc | polygon | arbitrum | optimism."
},
"address": {
"type": "string",
"description": "0x wallet address to scan."
}
},
"additionalProperties": false
}PAID $0.01 (x402, USDC on Base). Decode an off-chain EIP-712 typed-data signature (Permit / Permit2 / Seaport / generic) into plain English with risk flags: unlimited approval, unknown/known-malicious spender, never-expiring or already-expired deadlines, zero-consideration NFT-drain orders. Off-chain signatures are the top wallet-drainer vector. Pure offline decode — never signs/broadcasts. Without payment returns the x402 challenge; pass x_payment. Free teaser: decode_signature_free.
| Argument | Type | Description |
|---|---|---|
| chain | string | Optional chain override (else read from domain.chainId). |
| x_payment | string | x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first. |
| typed_data* | object | EIP-712 typed data object: {domain, types, primaryType, message}. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"typed_data"
],
"properties": {
"chain": {
"type": "string",
"description": "Optional chain override (else read from domain.chainId)."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
},
"typed_data": {
"type": "object",
"description": "EIP-712 typed data object: {domain, types, primaryType, message}.",
"additionalProperties": {}
}
},
"additionalProperties": false
}FREE. Type + plain-English summary + risk level for an EIP-712 `typed_data`. Real result, no wallet. Upgrade to decode_signature for the full field-by-field decode + all risk flags + malicious-spender screening.
| Argument | Type | Description |
|---|---|---|
| chain | string | Optional chain override (else read from domain.chainId). |
| typed_data* | object | EIP-712 typed data object: {domain, types, primaryType, message}. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"typed_data"
],
"properties": {
"chain": {
"type": "string",
"description": "Optional chain override (else read from domain.chainId)."
},
"typed_data": {
"type": "object",
"description": "EIP-712 typed data object: {domain, types, primaryType, message}.",
"additionalProperties": {}
}
},
"additionalProperties": false
}PAID $0.02 (x402, USDC on Base). Keyless pre-sign analysis of {chain, from?, to, data, value?}: public-RPC eth_call revert check + static calldata decode predicting approval/transfer deltas + risk flags (unlimited approval, approval-for-all, reverts). Honest keyless limitation stated in the response (no full fork trace). Without payment returns the x402 challenge; pass x_payment. Free teaser: simulate_free.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x target contract/recipient. |
| data | string | 0x calldata (omit for a plain value transfer). |
| from | string | 0x sender (optional but improves accuracy). |
| chain* | string | Chain: ethereum | base | bsc | polygon | arbitrum | optimism. |
| value | string | Value in wei (optional). |
| x_payment | string | x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chain",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "0x target contract/recipient."
},
"data": {
"type": "string",
"description": "0x calldata (omit for a plain value transfer)."
},
"from": {
"type": "string",
"description": "0x sender (optional but improves accuracy)."
},
"chain": {
"type": "string",
"description": "Chain: ethereum | base | bsc | polygon | arbitrum | optimism."
},
"value": {
"type": "string",
"description": "Value in wei (optional)."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"additionalProperties": false
}FREE. Method + revert flag + risk level + predicted effect types for a transaction. Real result, no wallet. Upgrade to simulate for the full predicted deltas + all risk flags.
| Argument | Type | Description |
|---|---|---|
| to* | string | 0x target contract/recipient. |
| data | string | 0x calldata (omit for a plain value transfer). |
| from | string | 0x sender (optional but improves accuracy). |
| chain* | string | Chain: ethereum | base | bsc | polygon | arbitrum | optimism. |
| value | string | Value in wei (optional). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"chain",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "0x target contract/recipient."
},
"data": {
"type": "string",
"description": "0x calldata (omit for a plain value transfer)."
},
"from": {
"type": "string",
"description": "0x sender (optional but improves accuracy)."
},
"chain": {
"type": "string",
"description": "Chain: ethereum | base | bsc | polygon | arbitrum | optimism."
},
"value": {
"type": "string",
"description": "Value in wei (optional)."
}
},
"additionalProperties": false
}PAID $0.02 (x402, USDC on Base). Multi-chain token honeypot/rug check aggregating GoPlus token-security + honeypot.is buy/sell-tax simulation into a normalized 0-100 risk score with explainable reasons: honeypot/can't-sell, buy/sell tax, mint/blacklist/pausable/ownership privileges, top-holder concentration, LP-lock, contract verified/bytecode. Descriptive facts only — NOT a buy/sell signal. Without payment returns the x402 challenge; pass x_payment to settle. Free teaser: token_safety_free.
| Argument | Type | Description |
|---|---|---|
| chain* | string | Chain: ethereum | base | bsc | polygon | arbitrum | optimism. |
| address* | string | 0x token contract address. |
| x_payment | string | x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"chain"
],
"properties": {
"chain": {
"type": "string",
"description": "Chain: ethereum | base | bsc | polygon | arbitrum | optimism."
},
"address": {
"type": "string",
"description": "0x token contract address."
},
"x_payment": {
"type": "string",
"description": "x402 payment payload (base64) for this PAID tool. If supplied it is forwarded as the X-PAYMENT header to settle the call and return the real result instead of a 402 challenge. Omit to get the price challenge first."
}
},
"additionalProperties": false
}FREE. Score band + top-line honeypot/tax/privilege flags for a token {address, chain}. Real result, no wallet. Upgrade to token_safety for the full numeric breakdown.
| Argument | Type | Description |
|---|---|---|
| chain* | string | Chain: ethereum | base | bsc | polygon | arbitrum | optimism. |
| address* | string | 0x token contract address. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"chain"
],
"properties": {
"chain": {
"type": "string",
"description": "Chain: ethereum | base | bsc | polygon | arbitrum | optimism."
},
"address": {
"type": "string",
"description": "0x token contract address."
}
},
"additionalProperties": false
}