Wicked MCP server
A single MCP server bridging 100+ financial, DeFi, identity, and agent-infrastructure tools to live Wicked API endpoints (x402 pay-per-call or API key, no signup needed).
Market & trading data — spot
price,ohlcvcandles,atr,fvg,liquidity_levels,momentum_score,sentiment,market_overview,rates,macro_calendar,earnings_calendar,market_clock,gas,defi_tvlDerivatives & prediction markets —
funding_oi,long_short_ratio,orderbook,basis,hyperliquid,volatility,kalshi_probability,kalshi_marketToken safety —
token_risk(free): honeypot, mint authority, holder concentration, taxes from GoPlusDeFi protocol health — score, list/track protocols, scoreboard, refresh/sync universe
Brokerage sync — register users, list connections, positions, balances, transactions, prop-firm registry
Agent reputation — status, statement, query/rank, tiers, transparency numbers
Tool reliability registry — search tools by uptime/latency/schema score, detail, badges, report, register (own signature)
Agent identity — nonce, register, liveness challenge/response, status, JWKS (wallet-signed)
Hallucination checks —
sanity_check/sanity_check_batchagainst context or webPersistent memory — signed
memory_preparethen store/search/get/update/history/delete/deletionsx402 paywall management — signup, create/import/update/delete routes, list settlements
Free, zero-config options — Token Risk plus 5 free Trading Data endpoints; unpaid calls return real
402challenges; optional auto-pay viaWICKEDAPI_PAYER_PRIVATE_KEY; remote streamable HTTP athttps://mcp.wickedapi.com/mcp
Note: the schema exposes ~58 tools, fewer than the README's claimed 107.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Wicked MCP server What's the current price of BTC?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WickedAPI MCP Server
MCP server for the whole Wicked suite — trading data, DeFi protocol health, token safety, brokerage sync, agent identity, reputation, a tool-reliability registry, hallucination checks, persistent agent memory, and x402 paywalls, in one server.
100+ tools across 12 live services. The first four are generated automatically from each service's own live openapi.json, so the list always matches what's deployed; the rest are hand-written because they use wallet signatures and non-/v1 routes:
Service | Tools | Auth |
28 (unprefixed: | API key or x402, 5 free | |
6 ( | API key or x402, scoreboard free | |
1 ( | 100% free, no key | |
6 ( | API key or x402 | |
7 ( | freshness + preview free; rest key or x402 | |
2 ( | OFAC sanctions lookup free; full check key or x402 | |
5 ( | free, no key | |
6 ( | search/detail: key or x402; featured/badge/report free; register needs your signature | |
8 ( | no wallet? start with | |
2 ( | key or x402 | |
8 ( | wallet signature on every call; only search is metered | |
8 ( |
|
Plus 6 resources (the platform directory, llms.txt, and each service's live endpoint catalog) and 10 prompts (rug_check, vet_dependency, morning_briefing, fact_check, verify_agent, find_reliable_tool, agent_memory_guide) that chain tools together the way the cookbook does.
These tools never sign anything or hold a key. Agents with no wallet can still try Wicked Identity end to end through a sandbox identity (identity_sandbox_register, then pass sandbox_token instead of a signature); sandbox results are for testing and are never reported as verified. Identity (real wallet), Registry registration and Memory take a signature you produce with your own wallet (identity_get_nonce / memory_prepare return the exact message to sign). Calls that need x402 payment return the real 402 challenge (decoded under payment_required for x402 v2) rather than auto-paying — WICKEDAPI_PAYER_PRIVATE_KEY auto-pay applies to the Trading, Protocol Health, Token Risk and Broker Sync tools.
Remote endpoint (no install)
Also listed on Glama, the official MCP Registry (io.github.WickedAPI/wicked-mcp) and Smithery.
The same 107 tools are served over streamable HTTP at https://mcp.wickedapi.com/mcp (stateless, rate-limited per IP; the public deployment carries no personal keys, so paid calls return the x402 challenge). Point any streamable-HTTP MCP client at it. To self-host, build the Dockerfile and run it with node dist/http.js (the image defaults to the stdio entry point), or npm run build && npm run start:http; see .env.example for RATE_LIMIT_PER_MINUTE, ALLOWED_HOSTS and TRUSTED_CLIENT_IP_HEADER.
Related MCP server: aipaygen-mcp
No signup required
Every tool hits a real endpoint gated by x402 (HTTP-native pay-per-call, USDC on Base) with an API-key fallback — and the Token Risk Oracle tool is free no matter what:
Zero config — calls without credentials still work; paid endpoints return the real
402payment challenge (price, network,payTo) as the tool result.Autonomous pay-per-call — set
WICKEDAPI_PAYER_PRIVATE_KEYto a funded Base-mainnet wallet's private key, and every call auto-pays ~$0.001 in USDC and returns real data. No account, no subscription.Partner API key — set
WICKEDAPI_API_KEYfor free, rate-limited access across all four services (same key works everywhere).
Install
{
"mcpServers": {
"wickedapi": {
"command": "npx",
"args": ["-y", "@wickedlabs/wicked-mcp"],
"env": {
"WICKEDAPI_API_KEY": "your-key-here"
}
}
}
}Or for autonomous pay-per-call instead of a key:
{
"mcpServers": {
"wickedapi": {
"command": "npx",
"args": ["-y", "@wickedlabs/wicked-mcp"],
"env": {
"WICKEDAPI_PAYER_PRIVATE_KEY": "0xyour-base-wallet-private-key"
}
}
}
}Nothing configured? The Token Risk Oracle tool and the 5 free Trading Data API endpoints (sentiment, macro_calendar, market_overview, gas, kalshi_probability) still work with zero setup.
Resources
Read without calling a tool — useful for a client that surfaces resources in its UI:
wickedapi://platform/services— the full service directory (JSON)wickedapi://platform/llms— the platform'sllms.txtwickedapi://trading/status,wickedapi://protocol_health/status,wickedapi://token_risk/status,wickedapi://broker_sync/status— each service's live endpoint catalog
Quick start
claude mcp add --transport http wicked https://mcp.wickedapi.com/mcp # Claude Code, no install
npx -y @wickedlabs/wicked-mcp # local stdioClaude Desktop / Cursor / VS Code config and per-framework starters: see the cookbooks. The remote also serves a landing page at /, /llms.txt, an MCP server card at /.well-known/mcp/server-card.json, and aggregate per-tool call counts at /stats (counts only; no arguments or IPs).
Prompts
One-click workflows that chain real tool calls (Claude Desktop and other prompt-aware clients surface these directly):
rug_check(address,chain, optionalsymbol) — token risk check + market sentiment + optional momentum read, before buying.vet_dependency(slug, optionaltoken_address,chain) — protocol health + optional contract-level risk check, before building on a DeFi protocol.morning_briefing(optionalsymbol) — macro calendar + earnings calendar + sentiment + momentum verdict, as one digest.fact_check(output, optionalsource) — split an answer into claims and verify each with Wicked Sanity.verify_agent(wallet) — Identity assertion + Reputation stake/tier before you transact with an agent.find_reliable_tool(need, optionalcategory,min_score) — Registry search by real uptime/latency/schema scores.agent_memory_guide(wallet,task) — the two-step signed Memory flow, explained to the model.counterparty_check(address) — OFAC screening and wallet risk (plus Identity/Reputation) before you pay someone.insider_watch(ticker, optionaldays) — insider trades, insider summary and 8-K events for a stock.trade_idea_check(symbol, optionaltimeframe) — verdict, volatility, positioning and news for a trade idea.
Environment variables
Var | Required | Notes |
| no | Free, rate-limited access across all four services (same key works everywhere). |
| no | Base-mainnet wallet private key. If set, every call auto-pays the x402 challenge in USDC — no key needed. |
| no | Override the Trading Data API base (default |
| no | Override the Protocol Health Oracle base (default |
| no | Override the Token Risk Oracle base (default |
| no | Override the Broker Sync API base (default |
| no | Free-tier keys for the paid calls of Registry, Identity, Sanity and Memory search. Omit to get the x402 challenge instead. |
| for | Tenant Bearer key returned once by |
| no | Override the matching service base (defaults are the |
| no | Override the platform directory base used by resources (default |
If neither WICKEDAPI_API_KEY nor WICKEDAPI_PAYER_PRIVATE_KEY is set, paid calls still succeed at the protocol level — you'll get the real 402 challenge back as the tool result instead of data. If one service's spec fails to load (network hiccup, that service is down), its tools are simply skipped for the session — the rest still register normally.
Local development
npm install
npm test # builds, then unit + end-to-end tests (e2e needs network)
node dist/index.js # stdio
node dist/http.js # streamable HTTP on $PORT (default 8080)What this is not
This server doesn't reimplement any data logic — it's a thin bridge from MCP tool calls to the live Wicked HTTP endpoints across all ten services. All the actual market data, indicators, scoring, and risk signals live in the APIs themselves.
Available Tools
108 toolsatrARead-onlyIdempotentInspect
[Trading Data API] Average True Range (Wilder's) + volatility-regime classification (low/normal/high/extreme by historical percentile). Crypto or stocks.
Example: /v1/atr?symbol=BTC&timeframe=1h&period=14
Use when you need volatility for position sizing or stops: Wilder ATR plus a low/normal/high/extreme regime. Not for implied volatility for BTC/ETH (use volatility).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required), class, period, timeframe.
basisARead-onlyIdempotentInspect
[Trading Data API] Spot-vs-perp basis (premium %) with funding-implied annualized carry. Spot from Coinbase; perp marks from Binance + Bybit.
Example: /v1/basis?symbol=BTC
Use when you want the spot-vs-perp premium and funding-implied annualized carry for a basis trade. Not for raw funding data (use funding_oi).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required).
broker_sync_balancesARead-onlyIdempotentInspect
[Broker Sync API] Cash & buying power per connected account (normalized).
Use when you want cash and buying power per connected account. Not for holdings (use broker_sync_positions).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: user_id (required).
broker_sync_connectionsARead-onlyIdempotentInspect
[Broker Sync API] List a user's connected brokerage accounts (normalized).
Use when you want a user's connected brokerage accounts in a normalized shape. Not for holdings (use broker_sync_positions) or cash (use broker_sync_balances).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: user_id (required).
broker_sync_positionsARead-onlyIdempotentInspect
[Broker Sync API] Real positions across all of a user's connected brokerages, one normalized schema, stamped as_of.
Use when you want a user's real positions across all connected brokerages in one schema. Not for cash and buying power (use broker_sync_balances).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: user_id (required).
broker_sync_prop_firmsARead-onlyIdempotentInspect
[Broker Sync API] Prop-firm platform integration registry — live-verified methods (Topstep ProjectX API, FTMO MatchTrader bridge) and connection status.
Use when you want the registry of prop-firm platforms and which integration methods are live-verified. Not for a user's own accounts (use broker_sync_connections).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: no named parameters.
broker_sync_register_userAInspect
[Broker Sync API] Register a user with SnapTrade and get a brokerage connection-portal URL.
Use when you are onboarding a user and need a SnapTrade brokerage connection-portal URL. Not for reading data for an already connected user.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: user_id (required).
broker_sync_transactionsARead-onlyIdempotentInspect
[Broker Sync API] Transaction/activity history across brokerages.
Use when you want a user's transaction and activity history across brokerages. Not for current holdings (use broker_sync_positions).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: user_id (required), to, from.
chain_balanceARead-onlyIdempotentInspect
[Trading Data API] Native-token balance (ETH/POL) for any address or ENS name on Ethereum, Base, Arbitrum, Optimism or Polygon. Live from the chain over redundant RPCs — wei plus formatted units.
Example: /v1/chain-balance?address=vitalik.eth&chain=ethereum
Use when you need the native-token balance (ETH/POL) of an address or ENS name on Ethereum, Base, Arbitrum, Optimism or Polygon. Not for token balances (use chain_token_balance) or a full holdings view (use wallet_portfolio).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: address (required), chain.
chain_blockARead-onlyIdempotentInspect
[Trading Data API] Block header lookup: number, hash, timestamp, miner, tx count, gas used/limit and base fee. Latest by default, or any block number, safe or finalized.
Example: /v1/chain-block?chain=base&block=latest
Use when you need a block header (number, hash, time, miner, gas, base fee), latest by default. Not for a single transaction (use chain_tx).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: block, chain.
chain_ensARead-onlyIdempotentInspect
[Trading Data API] ENS lookup on Ethereum mainnet in either direction: name to address, or address to primary name.
Example: /v1/chain-ens?name=vitalik.eth
Use when you need to resolve an ENS name to an address, or an address to its primary ENS name. Not for non-ENS lookups.
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: name (required), address.
chain_nonceARead-onlyIdempotentInspect
[Trading Data API] Transaction count (nonce) for an address or ENS name: confirmed nonce plus pending nonce, so an agent can sign the next transaction without a collision.
Example: /v1/chain-nonce?address=0xB71C06dAC44c91bc997FB84C247DeEF676F4A9f6&chain=base
Use when you need an address's confirmed and pending transaction count before building a transaction. Not for balances.
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: address (required), chain.
chain_token_balanceARead-onlyIdempotentInspect
[Trading Data API] ERC-20 token balance for an address or ENS name, with token symbol and decimals read from the contract. Ethereum, Base, Arbitrum, Optimism, Polygon.
Example: /v1/chain-token-balance?address=0xB71C06dAC44c91bc997FB84C247DeEF676F4A9f6&token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&chain=base
Use when you need the balance of one ERC-20 token for an address or ENS name. Not for native balance (chain_balance) or everything a wallet holds (wallet_portfolio).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: token (required), address (required), chain.
chain_txARead-onlyIdempotentInspect
[Trading Data API] Transaction lookup by hash: status (success/reverted/pending), block, from/to, value, nonce, gas used, effective gas price and log count.
Example: /v1/chain-tx?hash=0x...&chain=base
Use when you need the status and details of a transaction by hash. Not for account-level data (use chain_balance or chain_nonce).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: hash (required), chain.
crypto_newsARead-onlyIdempotentInspect
[Trading Data API] Latest crypto headlines aggregated from Cointelegraph, Decrypt and Bitcoin Magazine, newest first: title, source, URL, published time and a short summary. Filter by keyword or source.
Example: /v1/crypto-news?q=etf&limit=10
Use when you want the latest crypto headlines from major outlets, newest first. Not for market data.
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: q, limit, source.
defi_tvlARead-onlyIdempotentInspect
[Trading Data API] DefiLlama data: TVL by chain, stablecoin circulating supply, or yield pools.
Example: /v1/defi-tvl?view=chains
Use when you need DeFi TVL by chain, stablecoin supply or yield pools from DefiLlama. Not for the health or risk of one protocol (use protocol_health_score).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: view, chain, limit, project.
earnings_calendarARead-onlyIdempotentInspect
[Trading Data API] US equity earnings announcement calendar: report date, before/after-market timing, analyst EPS estimate + count, market cap, and prior-year actual EPS. Sourced live from Nasdaq's public calendar.
Example: /v1/earnings-calendar?date=2026-07-14&days=3
Use when you want upcoming US earnings dates, timing and analyst estimates. Not for macro events (use macro_calendar) or filed reports (use filings_search).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: date, days, symbol.
filings_8k_eventsARead-onlyIdempotentInspect
[Filings Oracle] 8-K material-event alerts classified into categories an agent can act on: earnings, exec_change, material_agreement, acquisition_disposition, bankruptcy, delisting, cybersecurity, auditor_or_restatement, control_change, financing, restructuring_impairment, shareholder_vote, governance, reg_fd, other_events. Each event lists every item with its official label.
Example: /v1/8k-events?category=bankruptcy&days=7
Use when you want 8-K material events already classified (earnings, exec change, material agreement and similar). Not for all form types (use filings_search).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: days, wait, limit, since, +2 more.
filings_filingARead-onlyIdempotentInspect
[Filings Oracle] One filing by accession number, with its parsed items or insider transactions and the SEC document link.
Example: /v1/filing?accession=0001731122-26-001341
Use when you have an accession number and want that one filing with parsed items and the SEC link. Not for searching (use filings_search).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: accession (required).
filings_freshnessARead-onlyIdempotentInspect
[Filings Oracle] Proof of real-time: seconds since the last successful SEC poll, age of the newest filing, median and p95 ingest lag (from SEC acceptance time) over the last 200 live filings, last successful poll per form type, and rows stored - Free. Proof of real-time: seconds since the last successful SEC poll, age of the newest filing, median and p95 ingest lag (from SEC acceptance time) over the last 200 live filings, last successful poll per form type, and rows stored.
Example: /v1/freshness
Use when you want proof the SEC feed is live: seconds since the last poll and ingest lag. Not for the filings themselves (use filings_search).
Behavior: read-only and free; no key or payment needed.
Inputs: no named parameters.
filings_insider_summaryARead-onlyIdempotentInspect
[Filings Oracle] Insider activity rollup for one ticker over a window: open-market buy and sell counts and dollar totals, net flow, distinct buyers and sellers, a cluster-buying flag (three or more insiders buying), and the largest trades.
Example: /v1/insider-summary?ticker=NVDA&days=30
Use when you want a ticker's insider buying and selling rolled up over a window. Not for the underlying trades (use filings_insider_trades).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: ticker (required), days.
filings_insider_tradesARead-onlyIdempotentInspect
[Filings Oracle] Form 4 insider transactions parsed to one row per trade: insider, role and title, security, code (P purchase, S sale, A grant ...), shares, price, dollar value, shares owned after, direct/indirect, and whether it was under a 10b5-1 plan. Defaults to open-market buys and sells only.
Example: /v1/insider-trades?side=buy&min_value=100000&exclude_10b5_1=true
Use when you want individual Form 4 insider transactions, one row per trade. Not for a per-ticker rollup (use filings_insider_summary).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: days, role, side, wait, +7 more.
filings_latest_previewARead-onlyIdempotentInspect
[Filings Oracle] The 10 most recent filings across all form types (form, company, ticker, filed_at only) - Free. The 10 most recent filings across all form types (form, company, ticker, filed_at only). Full structured data, filtering and cursors need /v1/filings.
Example: /v1/latest-preview
Use when you want a free glimpse of the 10 most recent filings (form, company, ticker, time). Not for full structured data (use filings_search).
Behavior: read-only and free; no key or payment needed.
Inputs: no named parameters.
filings_searchARead-onlyIdempotentInspect
[Filings Oracle] Structured SEC filings feed (8-K, Form 4, Schedule 13D/13G, 10-K, 10-Q), ingested within about a minute of SEC acceptance. Filter by form, ticker, CIK or 8-K item; page with a cursor, or long-poll with wait= to receive the next filing the moment it lands.
Example: /v1/filings?form=8-K&item=5.02&days=1
Use when you want structured SEC filings (8-K, Form 4, 13D/13G, 10-K, 10-Q) filtered by ticker, form or time. Not for classified event alerts (use filings_8k_events) or insider trades (use filings_insider_trades).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: cik, days, form, item, +4 more.
funding_oiARead-onlyIdempotentInspect
[Trading Data API] Aggregated perpetual-futures funding rate & open interest from Binance + Bybit, with 7-day average funding, 24h OI change, and a long/short bias signal.
Example: /v1/funding-oi?symbol=BTC
Use when you want perp funding rates and open interest aggregated from Binance and Bybit to gauge leverage and crowding. Not for Hyperliquid-specific data (use hyperliquid) or spot-vs-perp carry (use basis).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required).
fvgARead-onlyIdempotentInspect
[Trading Data API] Fair Value Gap zones (standard ICT/LuxAlgo) with CE (50%), gap size, age, fill status, distance from price. Standard timeframes match TradingView candles. Crypto or stocks.
Example: /v1/fvg?symbol=BTC&timeframe=1h
Use when you want Fair Value Gap zones (ICT-style imbalances) with fill status and distance from price. Not for swing-high/low liquidity pools (use liquidity_levels).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required), class, lookback, timeframe, +2 more.
gasARead-onlyIdempotentInspect
[Trading Data API] Free, no signup required. Ethereum gas oracle (safe/propose/fast gas prices + base fee, in gwei), via Etherscan.
Example: /v1/gas
Use when you need current Ethereum gas prices (safe, standard, fast) and the base fee before sending a transaction. Not for other chains.
Behavior: read-only and free; no key or payment needed.
Inputs: no named parameters.
hyperliquidARead-onlyIdempotentInspect
[Trading Data API] Hyperliquid perpetual context: funding (hourly), open interest, mark/oracle/mid price, premium, 24h volume. Not geo-blocked.
Example: /v1/hyperliquid?symbol=BTC
Use when you need Hyperliquid perp context: funding, open interest, mark/oracle price, premium and volume. Not for Binance/Bybit aggregates (use funding_oi).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required).
identity_get_challengeAInspect
[Wicked Identity] Request a real time-boxed liveness challenge (constrained-generation task, 30s budget). The clock starts when this returns: answer in ONE pass via identity_submit_response before expires_at. Real wallet: needs a fresh signed nonce (fetch + sign the nonce for the NEXT call before calling this). Sandbox: just wallet + sandbox_token.
Use when your wallet is registered and you want the time-boxed agent-liveness challenge (about 12 seconds to answer). Not for registering first (use identity_register).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: wallet (required), nonce, signature, sandbox_token.
identity_get_nonceAInspect
[Wicked Identity] Real-wallet path, step 1: a one-time nonce + message to sign. Every signed identity call needs a fresh nonce (single-use, 5-minute TTL). Not needed for sandbox identities.
Use when you are about to register or take a challenge and need a fresh one-time message to sign. Not for checking someone's status, which needs no signature.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: wallet (required).
identity_get_test_keyAInspect
[Wicked Identity] Get a free self-serve test API key (7-day expiry, 20 requests/min) to use as api_key on identity_status instead of paying via x402. Limit: 5 per IP per day.
Use when you are testing the Identity API and want a free test key for the sandbox. Not for production use.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: label.
identity_jwksARead-onlyIdempotentInspect
[Wicked Identity] Public RS256 keys to verify an assertion_token locally. Free. Set sandbox=true for the separate key set that signs sandbox assertions.
Use when you want the public keys to verify an assertion token locally. Not for checking a wallet's status (use identity_status).
Behavior: read-only.
Inputs: sandbox.
identity_registerAInspect
[Wicked Identity] Register a REAL wallet (no stake required). Needs your signature over identity_get_nonce's message; this tool never signs. Sandbox identities are registered by identity_sandbox_register instead.
Use when you want a lightweight identity record for your wallet, with a signature over the nonce message. Not for proving you are an agent (use identity_get_challenge next).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: nonce (required), wallet (required), signature (required).
identity_sandbox_registerAInspect
[Wicked Identity] START HERE if you have no wallet or cannot sign messages. Returns a sandbox wallet + sandbox_token (no signing, no body). Then call identity_get_challenge and identity_submit_response with wallet + sandbox_token. Sandbox results are for trying the service: signed with a separate key (identity_jwks sandbox=true) and never reported as verified. Use a real wallet for an accountable identity. Limit: 10 per IP per hour.
Use when you have no wallet and want a sandbox identity to test the flow. Not for production verification, which needs a real wallet signature.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: no named parameters.
identity_statusARead-onlyIdempotentInspect
[Wicked Identity] Does a wallet currently hold a valid, unexpired assertion? No signature needed. Pays via x402, or pass api_key (get one free from identity_get_test_key) / set IDENTITY_API_KEY. Sandbox wallets are never verified; they report sandbox: true and sandbox_verified instead.
Use when you want to know whether a wallet currently holds a valid, unexpired agent assertion. Not for becoming verified (start with identity_get_nonce).
Behavior: read-only.
Inputs: wallet (required), api_key.
identity_submit_responseAInspect
[Wicked Identity] Submit your answer to a challenge; scored pass / fail / inconclusive. A pass returns a short-lived signed assertion_token (JWT) verifiable via identity_jwks. Real wallet: needs a DIFFERENT fresh nonce than identity_get_challenge used. Sandbox: wallet + sandbox_token.
Use when you have the challenge answer and want it scored and, on a pass, a signed assertion token. Not for getting the challenge (use identity_get_challenge).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: wallet (required), challenge_id (required), response_text (required), nonce, +2 more.
kalshi_marketARead-onlyIdempotentInspect
[Trading Data API] Single Kalshi market depth: orderbook (yes/no levels) + recent trades for a specific ticker.
Example: /v1/kalshi-market?ticker=KXBTCD-26JUN1315-T64099.99
Use when you need one Kalshi market's orderbook and recent trades by ticker. Not for browsing markets by category (use kalshi_probability).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: ticker (required), depth, trades.
kalshi_probabilityARead-onlyIdempotentInspect
[Trading Data API] Free, no signup required. Kalshi prediction-market probabilities. Query by category (returns the most active open markets) or a specific market ticker.
Example: /v1/kalshi-probability?category=crypto
Use when you want live Kalshi prediction-market probabilities by category or ticker. Not for a single market's depth (use kalshi_market) or Polymarket (use polymarket).
Behavior: read-only and free; no key or payment needed.
Inputs: category (required), limit, ticker.
liquidationsARead-onlyIdempotentInspect
[Trading Data API] Recent forced liquidations on OKX USDT perpetual swaps for a coin: each event with time, liquidated side, bankruptcy price, size and USD notional, plus long vs short liquidated totals and the largest event. Real exchange data, no estimates.
Example: /v1/liquidations?coin=ETH&limit=50
Use when you want recent forced liquidations on OKX USDT perpetuals for a coin, with side and size. Not for liquidity pools (use liquidity_levels).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: coin, limit.
liquidity_levelsARead-onlyIdempotentInspect
[Trading Data API] ICT liquidity levels: buy-side liquidity (above swing highs) & sell-side (below swing lows), sweep/taken status, relative-equal pools, and nearest untaken targets. Crypto or stocks.
Example: /v1/liquidity-levels?symbol=TQQQ&timeframe=1h
Use when you want buy-side/sell-side liquidity levels and whether they were swept. Not for gap zones (use fvg) or actual liquidation events (use liquidations).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required), lookback, timeframe, swing_length, +2 more.
long_short_ratioARead-onlyIdempotentInspect
[Trading Data API] Binance long/short ratios: global account, top-trader account, top-trader position, and taker buy/sell. Companion to funding-oi.
Example: /v1/long-short-ratio?symbol=BTC&period=1h
Use when you want Binance positioning ratios (global accounts, top traders, taker buy/sell). Not for funding or open interest (use funding_oi).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required), period.
macro_calendarARead-onlyIdempotentInspect
[Trading Data API] Free, no signup required. Upcoming US macro events (FOMC rate decisions, CPI, jobs report) with verified Fed/BLS dates, days-until, and Kalshi rate-decision odds (cut/hold/hike) for FOMC meetings.
Example: /v1/macro-calendar
Use when you want upcoming US macro events (FOMC, CPI, jobs) with verified dates. Not for company earnings (use earnings_calendar).
Behavior: read-only and free; no key or payment needed.
Inputs: days, type.
market_clockARead-onlyIdempotentInspect
[Trading Data API] US equities market clock (is_open, next_open/close) + upcoming sessions, via Alpaca. Crypto endpoints are 24/7 and unaffected.
Example: /v1/market-clock
Use when you need to know whether US equity markets are open and when the next session opens or closes. Not for crypto, which trades 24/7.
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: days.
market_overviewARead-onlyIdempotentInspect
[Trading Data API] Free, no signup required. CoinGecko global crypto stats (total market cap, 24h volume, BTC/ETH dominance) or top coins by market cap.
Example: /v1/market-overview
Use when you want global crypto stats: total market cap, 24h volume, BTC and ETH dominance. Not for a single asset's price (use price).
Behavior: read-only and free; no key or payment needed.
Inputs: view, limit.
memory_deleteADestructiveInspect
[Wicked Memory] PERMANENTLY hard-delete a memory (right-to-be-forgotten). Default scope "chain" removes every version; "version" only this one. Only an audit row (no content) is kept.
Use when you must permanently erase a memory (right to be forgotten). Not for correcting it (use memory_update, which keeps history).
Behavior: DESTRUCTIVE and not reversible; confirm intent before calling.
Inputs: nonce (required), wallet (required), memory_id (required), signature (required), +3 more.
memory_deletionsARead-onlyIdempotentInspect
[Wicked Memory] Your deletion audit log (ids, times, reasons; never content).
Use when you want your audit log of deletions (ids, times, reasons, never content). Not for recovering content, which is gone.
Behavior: read-only.
Inputs: nonce (required), wallet (required), signature (required), timestamp (required).
memory_getARead-onlyIdempotentInspect
[Wicked Memory] Fetch one of your memories by id (another wallet's or a deleted id returns the same 404).
Use when you have a memory id and want its content. Not for searching by meaning (use memory_search).
Behavior: read-only.
Inputs: nonce (required), wallet (required), memory_id (required), signature (required), +1 more.
memory_historyARead-onlyIdempotentInspect
[Wicked Memory] Full version chain for a memory, oldest first, with valid_from / valid_until / superseded_by. Works from any version's id.
Use when you want a memory's full version chain and validity windows. Not for its current content (use memory_get).
Behavior: read-only.
Inputs: nonce (required), wallet (required), memory_id (required), signature (required), +1 more.
memory_prepareARead-onlyIdempotentInspect
Wicked Memory step 1 of every call: returns the exact message_to_sign. Sign it with your own wallet (EIP-191 personal_sign), then call the matching memory_* tool with the SAME arguments plus the returned timestamp, nonce and your signature. Timestamp must be within 5 minutes; nonce is single-use, so prepare again for every call.
Use when you are about to call any other memory tool and need the exact message to sign for that request. Not for the call itself.
Behavior: pure local computation, no network call, nothing is stored.
Inputs: wallet (required), operation (required), params.
memory_searchARead-onlyIdempotentInspect
[Wicked Memory] Semantic search over YOUR memories only, ranked by real cosine similarity. The one metered call: free with MEMORY_API_KEY, otherwise http_status 402 with x402 v2 instructions under payment_required (0.001 USDC on Base) — pay, then call again with the SAME arguments (a 402 does not consume the nonce) plus payment_signature.
Use when you want to recall your memories by meaning rather than by id. Not for fetching a known id (use memory_get).
Behavior: read-only.
Inputs: q (required), nonce (required), wallet (required), signature (required), +8 more.
memory_storeAInspect
[Wicked Memory] Store a memory (free, fair-use rate limited). A real embedding is computed at write time. Run memory_prepare with operation 'store' and these same arguments first.
Use when you want to save something for later, scoped to your wallet. Not for changing an existing memory (use memory_update).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: nonce (required), wallet (required), content (required), signature (required), +4 more.
memory_updateAInspect
[Wicked Memory] Update without overwriting: creates a new version and closes the old one (valid_until / superseded_by). Omitted fields carry over; only the current version can be updated (409 otherwise).
Use when you want to change a memory while keeping its history (a new version supersedes the old). Not for removing it (use memory_delete).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: nonce (required), wallet (required), memory_id (required), signature (required), +5 more.
momentum_scoreARead-onlyIdempotentInspect
[Trading Data API] Alias of /v1/verdict. Multi-asset momentum verdict (bias, confidence, thesis, entry/invalidation/targets, signal readings) from the oracle.py pipeline, run on a separate Python service. Scoped to 10 assets.
Example: /v1/momentum-score?symbol=BTC&timeframe=1h
Use when you want a ready-made LONG/SHORT/NEUTRAL view with confidence, thesis and entry/invalidation/targets for a supported asset. Not for raw inputs (use price, atr, funding_oi). Same data as verdict, which is the newer name.
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required), timeframe.
ohlcvARead-onlyIdempotentInspect
[Trading Data API] OHLCV candles (oldest-first) for crypto or stocks. Routes to Alpaca SIP / Alpaca-crypto / Coinbase.
Example: /v1/ohlcv?symbol=NVDA&timeframe=1h&limit=100
Use when you need historical candles to chart or compute indicators yourself. Not for only the latest price (use price) or a ready-made indicator (atr, fvg, liquidity_levels).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required), class, limit, timeframe.
orderbookARead-onlyIdempotentInspect
[Trading Data API] Top-of-book depth + spread (bps) from Binance, Bybit, or Hyperliquid.
Example: /v1/orderbook?symbol=BTC&exchange=binance&depth=10
Use when you need top-of-book depth and spread (bps) on Binance, Bybit or Hyperliquid. Not for a prediction-market book (use kalshi_market).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required), depth, exchange.
paywall_create_routeAInspect
[x402 Paywall] Paywall a new endpoint with x402 pay-per-call, settled in USDC straight to payTo. With upstreamUrl, paid requests are proxied to your backend. Applies live within ~20s (needs PAYWALL_API_KEY).
Use when you want to put one HTTP endpoint behind x402 pay-per-call, paid in USDC straight to your wallet. Not for many routes at once (use paywall_import_routes).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: payTo (required), price (required), network (required), path, +4 more.
paywall_delete_routeADestructiveIdempotentInspect
[x402 Paywall] Remove a paywalled route; applies within ~20s (needs PAYWALL_API_KEY).
Use when you want a route removed from the paywall. Not for changing its price (use paywall_update_route).
Behavior: DESTRUCTIVE and not reversible; confirm intent before calling.
Inputs: id (required).
paywall_demo_weatherARead-onlyIdempotentInspect
[x402 Paywall] Call the live demo route on the paywall gateway (GET /wickedapi/weather) to see a real x402 challenge: unpaid, it returns HTTP 402 with the decoded price, network and payTo in payment_required. A safe way to learn what a paywalled endpoint looks like before creating your own.
Use when you want to see a real x402 payment challenge from a paywalled route (price, network, payTo) without creating anything. Not for setting up your own paywall (use paywall_signup then paywall_create_route).
Behavior: read-only.
Inputs: no named parameters.
paywall_get_tenantARead-onlyIdempotentInspect
[x402 Paywall] Your tenant record (needs PAYWALL_API_KEY).
Use when you want your tenant record (name, slug, key hint). Not for route management.
Behavior: read-only.
Inputs: no named parameters.
paywall_import_routesAInspect
[x402 Paywall] Bulk upsert routes keyed on (method, path) — paywall a whole API in one call (needs PAYWALL_API_KEY).
Use when you want to paywall many routes in one call (upsert on method and path). Not for a single route (use paywall_create_route).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: routes (required).
paywall_list_routesARead-onlyIdempotentInspect
[x402 Paywall] List your paywalled routes (needs PAYWALL_API_KEY).
Use when you want your paywalled routes and their prices. Not for earnings (use paywall_list_settlements).
Behavior: read-only.
Inputs: no named parameters.
paywall_list_settlementsARead-onlyIdempotentInspect
[x402 Paywall] Your real on-chain USDC settlements (earnings) (needs PAYWALL_API_KEY).
Use when you want your real on-chain USDC settlements (earnings). Not for route configuration (use paywall_list_routes).
Behavior: read-only.
Inputs: limit.
paywall_signupAInspect
[x402 Paywall] Create a tenant account. Returns a Bearer apiKey ONCE — store it and set PAYWALL_API_KEY. Rate-limited to 5/hour per IP.
Use when you want a paywall tenant account and its API key (shown once). Not for managing routes of an existing tenant.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: name (required), slug (required).
paywall_update_routeAIdempotentInspect
[x402 Paywall] Partial update of a route (e.g. change price or payout wallet); applies live within ~20s (needs PAYWALL_API_KEY).
Use when you want to change a route's price, payout wallet or upstream without a redeploy. Not for creating or deleting routes.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: id (required), path, asset, payTo, +5 more.
polymarketARead-onlyIdempotentInspect
[Trading Data API] Polymarket prediction markets with live probabilities: question, per-outcome probability, 24h and total volume, liquidity, best bid/ask, one-day price change and end date. Top markets by volume, liquidity or soonest end, or free-text search.
Example: /v1/polymarket?q=bitcoin&limit=5
Use when you want Polymarket markets with live per-outcome probabilities and volume. Not for Kalshi markets (use kalshi_probability).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: q, sort, limit.
priceARead-onlyIdempotentInspect
[Trading Data API] Current spot price for crypto (Coinbase) or US equities/ETFs (Alpaca SIP), via the shared routing layer.
Example: /v1/price?symbol=BTC
Use when you need the current spot price of one crypto asset or US stock/ETF. Not for history or candles (use ohlcv), or a trading view (use momentum_score or verdict).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: class (required), symbol (required).
protocol_health_list_protocolsARead-onlyIdempotentInspect
[Protocol Health Oracle] All tracked protocols with their latest health score and verdict.
Use when you need every tracked protocol with its latest score and verdict. Not for one protocol's details (use protocol_health_score).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: limit, offset, min_tvl, category.
protocol_health_refresh_allAInspect
[Protocol Health Oracle] Force an immediate live re-score of all tracked protocols.
Use when you need every tracked protocol re-scored right now instead of waiting for the schedule. Not for a single protocol (read it with protocol_health_score).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: no named parameters.
protocol_health_scoreARead-onlyIdempotentInspect
[Protocol Health Oracle] Latest health score for one protocol: components (GitHub activity, TVL trend, treasury), source details, and score history.
Use when you are vetting one protocol before integrating it and want GitHub activity, TVL trend and treasury components. Not for a ranking (use protocol_health_scoreboard) or token contract risk (use token_risk).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: slug (required), history.
protocol_health_scoreboardARead-onlyIdempotentInspect
[Protocol Health Oracle] Public teaser: protocol name, score, and verdict only (no components/history) across the full tracked universe — auto-ingested from DefiLlama (TVL > $1M) plus curated protocols.
Use when you want the free public ranking of every tracked DeFi protocol: name, score and verdict only. Not for the component breakdown for one protocol (use protocol_health_score).
Behavior: read-only and free; no key or payment needed.
Inputs: limit, offset, min_tvl, category.
protocol_health_sync_universeAInspect
[Protocol Health Oracle] Force an immediate sync of the tracked-protocol universe from DefiLlama (TVL > $1M). Runs automatically once/day; use this to trigger it on demand.
Use when you want the tracked universe re-synced from DefiLlama (TVL above $1M), which also runs automatically on a schedule. Not for routine reads.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: no named parameters.
protocol_health_track_protocolAInspect
[Protocol Health Oracle] Track a new protocol. Scored immediately from live GitHub + DeFiLlama data.
Use when a protocol you care about is not tracked yet and you want it scored from live GitHub and DefiLlama data. Not for reading an existing score.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: name (required), github_repo (required), defillama_slug (required), chain, +1 more.
ratesARead-onlyIdempotentInspect
[Trading Data API] US Treasury yield curve (1M–30Y) + recession-indicator spreads (10y-2y, 10y-3m), from FRED.
Example: /v1/rates
Use when you need the US Treasury yield curve and recession spreads (10y-2y, 10y-3m). Not for event dates (use macro_calendar).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: series.
registry_create_api_keyAInspect
[Wicked Registry] Step 2 of getting a free API key. Submit the wallet, the timestamp and YOUR signature over the message from registry_onboarding_message(action=api_key). The key (wr_...) is returned once - store it and pass it as api_key to registry_search_tools / registry_tool_detail. Up to 3 active keys per wallet; past the daily cap calls fall back to x402.
Use when you signed the onboarding message and want a free Registry API key (shown once). Not for inspecting a key (use registry_key_info).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: wallet (required), signature (required), timestamp (required), label.
registry_featured_toolsARead-onlyIdempotentInspect
[Wicked Registry] Top scored active tools. Public and free.
Use when you want the top-scored active tools with no key or payment. Not for filtered search (use registry_search_tools).
Behavior: read-only.
Inputs: no named parameters.
registry_key_infoARead-onlyIdempotentInspect
[Wicked Registry] Metadata and usage for a Registry API key (wr_...): label, created time, call counts. Pass api_key, or set REGISTRY_API_KEY.
Use when you want a Registry API key's label, creation time and usage counts. Not for creating or revoking a key.
Behavior: read-only.
Inputs: api_key.
registry_lookupARead-onlyIdempotentInspect
[Wicked Registry] Free lookup: find a tool's id and headline reliability score by name or URL fragment (q), exact endpoint URL (endpoint) or category. No key or payment. Use it to check a tool before your agent pays it; follow with registry_tool_badge or registry_tool_detail.
Use when you want a free lookup of a tool's id and headline score by name, URL fragment or exact endpoint before you call it. Not for full detail (use registry_tool_detail).
Behavior: read-only.
Inputs: q, limit, category, endpoint.
registry_onboarding_messageARead-onlyIdempotentInspect
[Wicked Registry] Step 1 of self-onboarding. Returns the exact message YOU must sign (EIP-191 personal_sign) plus its timestamp, valid for about an hour. action=api_key (needs wallet) for a free API key, or action=register (needs name and endpoint_url) to list your own tool. This tool never signs anything.
Use when you are starting self-serve onboarding and need the exact message to sign. Not for when you already have a signature (use registry_create_api_key or registry_register_tool).
Behavior: read-only.
Inputs: action (required), name, wallet, endpoint_url.
registry_register_toolAInspect
[Wicked Registry] Register a tool you own so it gets real synthetic checks and a live score. Get the exact message to sign from registry_onboarding_message(action=register), sign it with owner_wallet, then call this. This tool never signs.
Use when you own a tool and want it listed and monitored, with your wallet's signature over the registration message. Not for finding tools.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: name (required), category (required), protocol (required), signature (required), +5 more.
registry_report_toolAInspect
[Wicked Registry] File a complaint about a tool's reliability or behaviour. Public, rate-limited; reviewed manually, never auto-suspends.
Use when a tool misbehaved and you want to file a complaint for manual review. Not for reading scores.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: reason (required), tool_id (required), reporter (required), evidence.
registry_revoke_keyADestructiveIdempotentInspect
[Wicked Registry] PERMANENTLY revoke a Registry API key (the one presented). Use if a key leaked. Pass api_key, or set REGISTRY_API_KEY.
Use when a Registry API key leaked or is no longer needed and must be disabled permanently. Not for inspecting a key (use registry_key_info).
Behavior: DESTRUCTIVE and not reversible; confirm intent before calling.
Inputs: api_key.
registry_search_toolsARead-onlyIdempotentInspect
[Wicked Registry] Search x402/MCP tools by real reliability data (uptime, latency, schema conformance). Works via x402 (402 carries payment instructions) or a free API key (pass api_key, or set REGISTRY_API_KEY). No key yet? Call registry_onboarding_message then registry_create_api_key to get one yourself. For a quick free check of a known tool, use registry_lookup.
Use when you want to find x402/MCP tools filtered by category, protocol or minimum reliability score. Not for a quick free check of a known tool (use registry_lookup).
Behavior: read-only.
Inputs: sort, limit, api_key, category, +2 more.
registry_tool_badgeARead-onlyIdempotentInspect
[Wicked Registry] A tool's current composite reliability score. Public and free.
Use when you want one tool's current composite score as a free badge. Not for the breakdown (use registry_tool_detail).
Behavior: read-only.
Inputs: tool_id (required).
registry_tool_detailARead-onlyIdempotentInspect
[Wicked Registry] One tool's full score breakdown, component history and recent real health checks. x402 or a free API key.
Use when you want one tool's full score breakdown and recent real health checks. Not for finding tools (use registry_search_tools or registry_lookup).
Behavior: read-only.
Inputs: tool_id (required), api_key.
reputation_erc8004ARead-onlyIdempotentInspect
[Wicked Reputation] Cross-reference a wallet against the open ERC-8004 Identity and Reputation registries (read-only). Free.
Use when you want to cross-reference a wallet against the open ERC-8004 identity and reputation registries. Not for Wicked's own staking data (use reputation_status).
Behavior: read-only.
Inputs: wallet (required).
reputation_get_nonceAInspect
[Wicked Reputation] Step 1 of every signed Reputation call (register, stake, unstake, withdraw): a one-time nonce plus the exact message to sign. Each signed call needs a fresh nonce.
Use when you are about to register, stake, unstake or withdraw and need the one-time message to sign. Not for read-only lookups, which need no signature.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: wallet (required).
reputation_historyARead-onlyIdempotentInspect
[Wicked Reputation] An agent's history of reputation/tier changes over time. Free. 404 means the wallet never registered.
Use when you want how one agent's reputation and tier changed over time. Not for current standing (use reputation_status).
Behavior: read-only.
Inputs: wallet (required).
reputation_leaderboardARead-onlyIdempotentInspect
[Wicked Reputation] Public leaderboard: every agent's current active stake, tier and slash count. Free.
Use when you want the public ranking of agents by active stake, with tier and slash count. Not for filtered searches (use reputation_query).
Behavior: read-only.
Inputs: limit.
reputation_queryARead-onlyIdempotentInspect
[Wicked Reputation] Search/rank registered agents by tier, stake, reputation or slash history. Every filter is a typed query param.
Use when you want to filter or rank agents by tier, stake, reputation or slash history. Not for one known wallet (use reputation_status).
Behavior: read-only.
Inputs: sort, tier, limit, max_stake, +4 more.
reputation_registerAInspect
[Wicked Reputation] Register your wallet as an agent (no stake required). Needs your signature over reputation_get_nonce's message; this tool never signs.
Use when you want to register your wallet as an agent, with your own signature over the nonce message. Not for staking (use reputation_stake after funding the treasury).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: nonce (required), wallet (required), signature (required).
reputation_stakeAInspect
[Wicked Reputation] Record a USDC stake that YOU already sent on-chain to the treasury (see reputation_transparency for the address). Real funds: send the transfer from your own wallet first, then pass its tx_hash with a signed nonce. This tool never moves funds or signs.
Use when you already sent USDC on-chain to the treasury and want that stake recorded, with its transaction hash and a signed nonce. Not for moving funds, which this server never does.
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: nonce (required), amount (required), wallet (required), tx_hash (required), +1 more.
reputation_statementARead-onlyIdempotentInspect
[Wicked Reputation] An agent's full position plus real event ledger (stakes, unstakes, withdrawals, slashes). Does not include WickedAPI call volume or fees — see the note field.
Use when you need an agent's full position and ledger of stakes, unstakes, withdrawals and slashes. Not for a quick tier check (use reputation_status).
Behavior: read-only.
Inputs: wallet (required).
reputation_statusARead-onlyIdempotentInspect
[Wicked Reputation] An agent's current reputation: tier, active/unbonding stake, score, slash count, founding-member badge. http_status 404 means the wallet never registered — treat as tier 'unranked'.
Use when you want one agent's tier, stake, reputation score and slash count before dealing with it. Not for the event history (use reputation_statement) or a ranking (use reputation_leaderboard).
Behavior: read-only.
Inputs: wallet (required).
reputation_tiersARead-onlyIdempotentInspect
[Wicked Reputation] Live tier thresholds and benefits (min stake, rate-limit multiplier, fee discount). Read at call time — thresholds are admin-configurable.
Use when you want the live tier thresholds and benefits (minimum stake, rate-limit multiplier, fee discount). Not for a specific agent's tier (use reputation_status).
Behavior: read-only.
Inputs: no named parameters.
reputation_transparencyARead-onlyIdempotentInspect
[Wicked Reputation] Live transparency numbers: treasury address, custody model, unbonding cooldown, total stake, agents, slash events, founding-slot counts.
Use when you want the treasury address, custody model, unbonding cooldown and totals, for example before staking. Not for per-agent data.
Behavior: read-only.
Inputs: no named parameters.
reputation_unstakeADestructiveInspect
[Wicked Reputation] Start the unbonding period for amount of your active stake. It stops counting toward tier/reputation immediately; withdraw after the cooldown (see reputation_transparency). Needs a signed nonce.
Use when you want to start the unbonding period for part of your active stake, with a signed nonce. Not for collecting funds (use reputation_withdraw once the cooldown has passed).
Behavior: DESTRUCTIVE and not reversible; confirm intent before calling.
Inputs: nonce (required), amount (required), wallet (required), signature (required).
reputation_withdrawADestructiveInspect
[Wicked Reputation] Pay out every unbonding stake whose cooldown has elapsed, in one on-chain transfer to your wallet. Safe to retry if a payout fails. Needs a signed nonce.
Use when your unbonding cooldown has elapsed and you want every matured stake paid out to your wallet. Not for starting the unbonding (use reputation_unstake).
Behavior: DESTRUCTIVE and not reversible; confirm intent before calling.
Inputs: nonce (required), wallet (required), signature (required).
sanity_checkAInspect
[Wicked Sanity] Verify one claim before acting on it. Verdicts: supported | contradicted | unsupported | insufficient_evidence (see data). confidence_score is raw consistency (a "contradicted" verdict scores near 0). Policy: act on supported; treat unsupported/insufficient_evidence as unverified; reject contradicted. x402 or SANITY_API_KEY; 429 means a rate limit — see retry_after.
Use when you must verify one claim before acting on it, either against source text you supply or against live web evidence. Not for many claims at once (use sanity_check_batch).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: claim (required), mode, context.
sanity_check_batchAInspect
[Wicked Sanity] Verify up to 50 claims against one shared context in a single call — prefer this over one sanity_check per sentence. data is a list in the same order as claims.
Use when you have a multi-sentence output to verify against one shared context in a single call (up to 50 claims). Not for a single claim (use sanity_check).
Behavior: writes state upstream (not read-only); needs the credentials or wallet signature noted above where applicable.
Inputs: claims (required), mode, context.
sanity_get_checkARead-onlyIdempotentInspect
[Wicked Sanity] Fetch a previously run check by its check_id (returned by sanity_check / sanity_check_batch). x402 or SANITY_API_KEY like the other Sanity calls.
Use when you want to re-read an earlier check by its check_id. Not for running a new check.
Behavior: read-only.
Inputs: check_id (required).
sentimentARead-onlyIdempotentInspect
[Trading Data API] Free, no signup required. Crypto Fear & Greed Index (alternative.me), current reading + optional history.
Example: /v1/sentiment?limit=7
Use when you want the crypto Fear & Greed reading as a quick market-mood signal. Not for asset-specific direction (use momentum_score).
Behavior: read-only and free; no key or payment needed.
Inputs: limit.
token_riskARead-onlyIdempotentInspect
[Token Risk Oracle] Free, public, no signup. Aggregates real on-chain risk signals from GoPlus Security for a token contract — honeypot detection, mint/ownership authority, holder & LP concentration, buy/sell tax, trust-list status — into one transparent risk score. Never a bare safe/unsafe claim: every flag GoPlus didn't return data for stays null, and the raw source data ships alongside the score.
Use when you are about to buy or interact with a token contract and want honeypot, mint authority, holder and LP concentration and tax signals (EVM and Solana). Not for wallet or address risk (use wallet_check) or protocol vetting (use protocol_health_score).
Behavior: read-only and free; no key or payment needed.
Inputs: chain (required), address (required).
verdictARead-onlyIdempotentInspect
[Trading Data API] One-call trading verdict for an asset: LONG, SHORT or NEUTRAL bias with a 0-10 confidence, a one-line thesis, entry, invalidation and two targets, and the trend / momentum / structure / liquidity readings behind it. Mechanical scoring from live candles on two timeframes (EMA stack, MACD, RSI, ADX, swing structure, liquidity sweeps, volume point of control), never a guess. BTC, ETH, SOL, SUI, NVDA, IBIT, COIN, QQQ, TQQQ, DIA.
Example: /v1/verdict?symbol=BTC&timeframe=1h
Use when you want one call that returns a LONG/SHORT/NEUTRAL bias with a 0-10 confidence and a one-line thesis. Not for the full structured levels (use momentum_score, an alias of the same engine) or raw inputs (use price, atr).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: symbol (required), timeframe.
volatilityARead-onlyIdempotentInspect
[Trading Data API] Deribit volatility: DVOL implied-vol index (30d forward) + latest realized volatility, for BTC or ETH.
Example: /v1/volatility?currency=BTC
Use when you want Deribit implied volatility (DVOL) next to realized volatility for BTC or ETH. Not for other assets or ATR-style sizing (use atr).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: currency.
wallet_checkARead-onlyIdempotentInspect
[Wallet Oracle] Pre-transaction counterparty check for an EVM wallet or contract: OFAC SDN screening, GoPlus malicious-address flags (phishing, drainers, laundering, mixers ...), and a live on-chain profile (EOA / contract / EIP-7702, nonce, balance, ENS, first transaction, contract verification). Returns risk_level, a plain recommendation (do_not_transact / review_before_transacting / no_red_flags_found), every reason with its source, and which sources were unavailable.
Example: /v1/wallet-check?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&chain=ethereum
Use when you are about to transact and want a pre-transaction check of a wallet or contract: OFAC, malicious-address flags and on-chain signals. Not for token contract safety (use token_risk).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: address (required), chain.
wallet_portfolioARead-onlyIdempotentInspect
[Trading Data API] What a wallet holds: native balance plus major ERC-20 tokens (stablecoins, wrapped assets, large caps) across Ethereum, Base, Arbitrum, Optimism and Polygon, with live USD prices, per-chain and total value. Address or ENS name. Reads the chain directly; tokens outside the curated list are not shown (the response states this).
Example: /v1/wallet-portfolio?address=vitalik.eth&chain=all
Use when you want what a wallet holds in one call: native balance plus major ERC-20 tokens across supported chains. Not for one specific token (use chain_token_balance) or counterparty risk (use wallet_check).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: address (required), chain.
wallet_sanctions_checkARead-onlyIdempotentInspect
[Wallet Oracle] Is this address on the US Treasury OFAC SDN sanctions list? Exact match against every digital-currency address OFAC publishes (EVM, Tron, Bitcoin and others), with the sanctioned entity, program, and the list's publish date - Free. Is this address on the US Treasury OFAC SDN sanctions list? Exact match against every digital-currency address OFAC publishes (EVM, Tron, Bitcoin and others), with the sanctioned entity, program, and the list's publish date. Chain-agnostic.
Example: /v1/sanctions-check?address=0x8589427373D6D84E98730D7795D8f6f8731FDA16
Use when you need a free yes/no on whether an address is on the OFAC SDN sanctions list. Not for broader counterparty risk (use wallet_check).
Behavior: read-only and free; no key or payment needed.
Inputs: address (required).
web_searchARead-onlyIdempotentInspect
[Trading Data API] Real-time web search for agents: ranked results with title, URL, snippet and score, plus an optional synthesized answer. Pay per search; general or news topic.
Example: /v1/web-search?q=latest+ethereum+upgrade&max_results=5&topic=news
Use when an agent needs fresh web results with titles, URLs and snippets. Not for verifying a claim (use sanity_check with mode open).
Behavior: read-only. Priced via x402 (USDC on Base) or free with WICKEDAPI_API_KEY; with neither, you get HTTP 402 with the decoded price in payment_required (a price quote, not a failure).
Inputs: q (required), topic, max_results, include_answer.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 108 tools
Many descriptions explicitly say when to use one tool versus another, and most subdomains are distinct. However, there are real overlaps and aliases such as verdict vs momentum_score, registry_lookup vs registry_tool_badge, and protocol_health_scoreboard vs protocol_health_list_protocols. With 108 tools across many domains, misselection remains a meaningful risk.
Almost all names use snake_case, and many domains have clear prefixes such as memory_, reputation_, paywall_, and registry_. But the convention is mixed: some tools are noun-only (price, sentiment, gas, verdict), others are verb_noun (memory_store, paywall_create_route), and the Trading Data API tools are largely unprefixed while other domains are namespaced.
A 108-tool surface is far beyond a well-scoped MCP tool set and spans numerous unrelated services including trading data, filings, reputation, registry, memory, paywall, identity, and broker sync. Even if each subdomain is coherent internally, the overall set is too large for an agent to navigate reliably.
Most visible subdomains have broad lifecycle coverage: memory CRUD/versioning, reputation staking flows, paywall route management, registry onboarding, filings, identity, sanity checks, and broker sync. There are minor gaps such as broker/user disconnect or registry update operations, but no obvious dead ends for the core workflows.
Maintenance
Related MCP Connectors
Pay-per-call DeFi and macro intel for AI agents. x402 USDC tools via streamable HTTP /api/mcp.
Pay-per-call ($0.005-$0.03 USDC) market, on-chain, and prediction-market data API for AI agents and trading bots via x402 — no signup, no API key. Remote MCP server, 28 tools: token security (honeypot/liquidity/counterfeit checks), Hyperliquid oracle-gap risk, kimchi premium, funding APR, DEX slippage, Polymarket arbitrage/liquidity audits, Hyperliquid HIP-4 odds.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Related MCP Servers
- AlicenseAqualityBmaintenanceEight crypto and DeFi data tools for AI agents: prices, gas, one ParaSwap route quote, GoPlus token security and top-holder samples, DefiLlama yields, Hyperliquid/dYdX funding, and observed wallet balances. Inspect prices free; pay 0.001–0.008 USDC per call on Base through x402. No API key or subscription.8120 npmMIT
- FlicenseNot gradedqualityCmaintenance250+ AI-powered MCP tools: research, write, code, translate, scrape, sentiment, vision, RAG, agent memory, marketplace, trading signals, and more. 15 models across 7 providers. Pay-per-use via API key or x402 USDC micropayments.2-
- AlicenseNot gradedqualityDmaintenanceCrypto intelligence MCP: 104 tools for market data, ML signals, on-chain analytics, derivatives, and Bittensor subnets. Pay-per-call via x402 USDC on Base/Solana/Algorand/Stellar or $9.99/mo API key.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to access professional crypto market intelligence via 8 MCP tools, covering market regime, fear/greed, funding rates, DeFi yields, token signals, wallet risk, and contract audits. Backed by real-time data from Binance, DeFiLlama, Etherscan, with both free tools and x402 micropayment options.2MIT