Pay-per-call onchain reads (Base, Ethereum, Gnosis), token verdicts and LLM chat over x402 USDC
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.
LLM chat completion: send messages and max_tokens, get the reply. OpenAI-style chat completion from DeepSeek-V4-Flash-0731. Returns: an OpenAI-style chat completion from the model the service is named for (DeepSeek-V4-Flash-0731, Qwen3-32B or Llama-3.1-8B-Instruct): POST {messages: [{role, content}], max_tokens <= 1024}; returns the assistant message, the model, and its token usage. Messages up to 16,000 characters in total. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_deepseek_chat. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
This tool takes no arguments.
Tool list last changed Oct 25, 2026.
LLM chat completion: send messages and max_tokens, get the reply. OpenAI-style chat completion from DeepSeek-V4-Flash-0731. Returns: an OpenAI-style chat completion from the model the service is named for (DeepSeek-V4-Flash-0731, Qwen3-32B or Llama-3.1-8B-Instruct): POST {messages: [{role, content}], max_tokens <= 1024}; returns the assistant message, the model, and its token usage. Messages up to 16,000 characters in total. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_deepseek_chat. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Token Quick Check: Base contract facts -- name, supply, owner, code. Not financial advice. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_erc20_balance_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}Token Quick Check: Base contract facts -- name, supply, owner, code. Not financial advice. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_erc20_supply_facts_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}Token Quick Check: Base contract facts -- name, supply, owner, code. Not financial advice. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_erc20_token_facts_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}LLM chat completion: send messages and max_tokens, get the reply. An OpenAI-style chat completion from Llama-3.1-8B-Instruct. Returns: an OpenAI-style chat completion from the model the service is named for (DeepSeek-V4-Flash-0731, Qwen3-32B or Llama-3.1-8B-Instruct): POST {messages: [{role, content}], max_tokens <= 1024}; returns the assistant message, the model, and its token usage. Messages up to 16,000 characters in total. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_llama3_1_8b_chat. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}LLM chat completion: send messages and max_tokens, get the reply. OpenAI-style chat completion from Qwen3-32B. Returns: an OpenAI-style chat completion from the model the service is named for (DeepSeek-V4-Flash-0731, Qwen3-32B or Llama-3.1-8B-Instruct): POST {messages: [{role, content}], max_tokens <= 1024}; returns the assistant message, the model, and its token usage. Messages up to 16,000 characters in total. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_qwen3_32b_chat. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Token Quick Check: Base contract facts -- name, supply, owner, code. Not financial advice. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_token_verdict_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}Token Risk Report: AI verdict on a Base token contract -- grade, red flags, on-chain facts. Not financial advice. Returns: an AI-written token verdict on one token contract: grade (BASED/MID/COOKED/RADIOACTIVE, a stated rule over the contract's own state), a one-liner and a roast, and the facts read: code size, name, symbol, decimals, supply, owner(), proxy slots; plus the deepest Uniswap V3 pool's USD price and depth. No holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_token_verdict_v3. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]. Measured output: {"cached": false, "chain": "base", "disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "grade": "COOKED", "method": "verdict", "ok": true, "result": {"disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "facts": {"decimals": 6, "erc20_shaped": true, "is_contract": true, "name": "USD Coin", "owner": "0x3abd6f64a422225e61e435bae41db12096106df7", "owner_renounced": false, "proxy_slot": "zeppelinos", "symbol": "USDC", "upgradeable_proxy": true}, "grade": "COOKED", "grade_rule": "RADIOACTIVE: not a contract, or not ERC-20 shaped (no decimals/totalSupply). COOKED: a proxy implementation slot is set (EIP-1967, its beacon, or ZeppelinOS) AND owner() names a live owner. MID: either one. BASED: neither found.", "market": {"deepest_pool": {"fee": 3000, "pool": "0x6c561b446416e1a00e8e93e221854d6ea4171372", "price_usd": 1.00209, "quote": "WETH", "quote_reserve_usd": 87721037.3, "token_reserve": 58770808.350535}, "depth_rule": "pool_depth from the deepest pool's quote-side reserve in USD: <$1k none_or_dust, <$100k thin, <$5M moderate, else deep. A description of on-chain state, not advice.", "dex": "uniswap_v3", "eth_usd": 2432.8015, "eth_usd_source": "chainlink ETH/USD 0x71041dddad3595f9ced3dccfbe3d1f4b0a16bb70", "fee_tiers": [500, 3000, 10000], "pool_depth": "deep", "pools_found": 3, "price_usd": 1.00209, "quote_assets": ["WETH", "USDC"], "quote_reserve_usd": 87721037.3, "rpc_calls": 2}, "one_liner": "USDC is COOKED", "roast": "USDC: COOKED. Proxy (zeppelinos slot set); a live owner holds the keys.", "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "written_by": "template"}, "service": "x402_bazaar_token_verdict_v2.base_token_verdict_v3"}
On-Chain Bundle: multiple Base reads in one paid call. Parts: base_token_verdict_preview, base_token_verdict_v3. Returns: each named part service's own result, in one paid call, keyed by the part's name -- exactly what each part returns when bought alone; the call succeeds only when every part answers. It takes the union of the parts' query parameters. GET https://api.arysphere.com/v1/ventures/x402_bazaar_token_verdict_v2/base_verdict_facts_bundle. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}Token Quick Check: Ethereum mainnet contract facts -- name, supply, owner, code. Not financial advice. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_eth_token_verdict_v1/eth_erc20_address_check_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}Token Quick Check: Ethereum mainnet contract facts -- name, supply, owner, code. Not financial advice. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_eth_token_verdict_v1/eth_erc20_token_facts_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}Token Risk Report: AI verdict on a Ethereum mainnet token contract -- grade, red flags, on-chain facts. Not financial advice. Returns: an AI-written token verdict on one token contract: grade (BASED/MID/COOKED/RADIOACTIVE, a stated rule over the contract's own state), a one-liner and a roast, and the facts read: code size, name, symbol, decimals, supply, owner(), proxy slots; plus the deepest Uniswap V3 pool's USD price and depth. No holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_eth_token_verdict_v1/eth_mainnet_token_verdict. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]. Measured output: {"cached": false, "chain": "ethereum", "disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "grade": "MID", "method": "verdict", "ok": true, "result": {"disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "facts": {"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "code_bytes": 11075, "decimals": 6, "erc20_shaped": true, "is_contract": true, "name": "Tether USD", "owner": "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828", "owner_function": true, "owner_renounced": false, "proxy_implementation": null, "proxy_slot": null, "proxy_slots_checked": ["eip1967", "eip1967_beacon"], "symbol": "USDT", "total_supply": "88302633055.702652", "total_supply_raw": "88302633055702652", "upgradeable_proxy": false}, "grade": "MID", "grade_rule": "RADIOACTIVE: not a contract, or not ERC-20 shaped (no decimals/totalSupply). COOKED: a proxy implementation slot is set (EIP-1967, its beacon, or ZeppelinOS) AND owner() names a live owner. MID: either one. BASED: neither found.", "market": {"deepest_pool": {"fee": 3000, "pool": "0x4e68ccd3e89f51c3074ca5072bbac773960dfa36", "price_usd": 1.00052, "quote": "WETH", "quote_reserve_usd": 67298314.08, "token_reserve": 28892113.616802}, "depth_rule": "pool_depth from the deepest pool's quote-side reserve in USD: <$1k none_or_dust, <$100k thin, <$5M moderate, else deep. A description of on-chain state, not advice.", "dex": "uniswap_v3", "eth_usd": 2431.49722133, "eth_usd_source": "chainlink ETH/USD 0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419", "fee_tiers": [500, 3000], "pool_depth": "deep", "pools_found": 6, "price_usd": 1.00052, "quote_assets": ["WETH", "USDC"], "quote_reserve_usd": 67298314.08, "rpc_calls": 2}, "one_liner": "USDT: Six decimals, one owner, zero drama.", "roast": "A textbook ERC-20 with a live owner and no proxy tricks. It's the vanilla ice cream of tokens\u2014technically fine, but nobody's writing home about it.", "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "written_by": "model"}, "service": "x402_eth_token_verdict_v1.eth_mainnet_token_verdict"}
Token Quick Check: Ethereum mainnet contract facts -- name, supply, owner, code. Not financial advice. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_eth_token_verdict_v1/eth_mainnet_token_verdict_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]. Measured output: {"cached": false, "chain": "ethereum", "method": "preview", "note": "A preview: the contract's own state read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. Not financial advice.", "ok": true, "result": {"facts": {"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "code_bytes": 11075, "decimals": 6, "erc20_shaped": true, "is_contract": true, "name": "Tether USD", "owner": "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828", "owner_function": true, "owner_renounced": false, "proxy_implementation": null, "proxy_slot": null, "proxy_slots_checked": ["eip1967", "eip1967_beacon"], "symbol": "USDT", "total_supply": "88301265725.970534", "total_supply_raw": "88301265725970534", "upgradeable_proxy": false}, "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7"}, "service": "x402_eth_token_verdict_v1.eth_mainnet_token_verdict_preview"}
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}Token Quick Check: Ethereum mainnet contract facts -- name, supply, owner, code. Not financial advice. Ethereum mainnet ERC-20 token preview by contract address: the quick read an agent runs before it trusts a token address. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_eth_token_verdict_v1/eth_token_metadata_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}Token Risk Report: AI verdict on a Ethereum mainnet token contract -- grade, red flags, on-chain facts. Not financial advice. Returns: an AI-written token verdict on one token contract: grade (BASED/MID/COOKED/RADIOACTIVE, a stated rule over the contract's own state), a one-liner and a roast, and the facts read: code size, name, symbol, decimals, supply, owner(), proxy slots; plus the deepest Uniswap V3 pool's USD price and depth. No holders, no safety or legitimacy call. GET https://api.arysphere.com/v1/ventures/x402_eth_token_verdict_v1/eth_token_verdict_v3. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]. Measured output: {"cached": false, "chain": "ethereum", "disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "grade": "MID", "method": "verdict", "ok": true, "result": {"disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "facts": {"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "code_bytes": 11075, "decimals": 6, "erc20_shaped": true, "is_contract": true, "name": "Tether USD", "owner": "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828", "owner_function": true, "owner_renounced": false, "proxy_implementation": null, "proxy_slot": null, "proxy_slots_checked": ["eip1967", "eip1967_beacon"], "symbol": "USDT", "total_supply": "88302633055.702652", "total_supply_raw": "88302633055702652", "upgradeable_proxy": false}, "grade": "MID", "grade_rule": "RADIOACTIVE: not a contract, or not ERC-20 shaped (no decimals/totalSupply). COOKED: a proxy implementation slot is set (EIP-1967, its beacon, or ZeppelinOS) AND owner() names a live owner. MID: either one. BASED: neither found.", "market": {"deepest_pool": {"fee": 3000, "pool": "0x4e68ccd3e89f51c3074ca5072bbac773960dfa36", "price_usd": 1.00052, "quote": "WETH", "quote_reserve_usd": 67298314.08, "token_reserve": 28892113.616802}, "depth_rule": "pool_depth from the deepest pool's quote-side reserve in USD: <$1k none_or_dust, <$100k thin, <$5M moderate, else deep. A description of on-chain state, not advice.", "dex": "uniswap_v3", "eth_usd": 2431.49722133, "eth_usd_source": "chainlink ETH/USD 0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419", "fee_tiers": [500, 3000], "pool_depth": "deep", "pools_found": 6, "price_usd": 1.00052, "quote_assets": ["WETH", "USDC"], "quote_reserve_usd": 67298314.08, "rpc_calls": 2}, "one_liner": "USDT: Six decimals, one owner, zero drama.", "roast": "A textbook ERC-20 with a live owner and no proxy tricks. It's the vanilla ice cream of tokens\u2014technically fine, but nobody's writing home about it.", "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "written_by": "model"}, "service": "x402_eth_token_verdict_v1.eth_mainnet_token_verdict"}
On-Chain Bundle: multiple Ethereum mainnet reads in one paid call. Parts: eth_mainnet_token_verdict_preview, eth_mainnet_token_verdict. Returns: each named part service's own result, in one paid call, keyed by the part's name -- exactly what each part returns when bought alone; the call succeeds only when every part answers. It takes the union of the parts' query parameters. GET https://api.arysphere.com/v1/ventures/x402_eth_token_verdict_v1/eth_verdict_facts_bundle. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}On-Chain Bundle: multiple Ethereum mainnet reads in one paid call. Parts: eth_mainnet_token_verdict_preview, eth_token_verdict_v3. Returns: each named part service's own result, in one paid call, keyed by the part's name -- exactly what each part returns when bought alone; the call succeeds only when every part answers. It takes the union of the parts' query parameters. GET https://api.arysphere.com/v1/ventures/x402_eth_token_verdict_v1/eth_verdict_v3_facts_bundle. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| token* | string | token contract, 0x + 40 hex |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token contract, 0x + 40 hex"
}
},
"additionalProperties": false
}