Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Crank Protocol

REMOTE · MCP.CRANK.ING · SCANNED AUG 3

Non-custodial DeFi tools for AI agents on Solana: swaps, perps, lending, staking, equities.

Available components

+4 this week 62 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability56
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (poor).Fail
  • Context-footprint check failed: tool/resource definitions use about 28037 tokens (~167/item across 167 items; 167 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.crank.ing

# add to Claude Code
claude mcp add --transport http ing-crank-crank https://mcp.crank.ing/mcp
# ~/.codex/config.toml
[mcp_servers.ing-crank-crank]
url = "https://mcp.crank.ing/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ing-crank-crank": {
      "type": "remote",
      "url": "https://mcp.crank.ing/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ing-crank-crank --url https://mcp.crank.ing/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  ing-crank-crank:
    url: "https://mcp.crank.ing/mcp"
// mcp.json
{
  "mcpServers": {
    "ing-crank-crank": {
      "type": "http",
      "url": "https://mcp.crank.ing/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +3
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1
    • Tool “jupiter_swap” rewrote its description, which is the text the model reads security
    • Server version: 3.4.4 → 3.4.5 functional
    • New tool “list_webhooks” functional
    • New tool “delete_webhook” functional
    • New tool “register_webhook” functional
    • New tool “strategy_modify” functional
    • New tool “verify_transaction” functional
    • “jupiter_swap” added an optional parameter “verify” cosmetic
  • 28 Jul 26 −2
    • Stability: unverified → 0.03 functional
    • Schema quality: fair → poor functional
    • New tool “set_ooda_consent” functional
    • New tool “get_ooda_status” functional
  • 27 Jul 26 58

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://mcp.crank.ing/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.crank.ing CN=YE2,O=Let's Encrypt,C=US 9 Jun 2026 7 Sept 2026 ECDSA 256 ECDSA-SHA384 64c05af204b4929dfe98a7c20bd48b38b03
SANs: mcp.crank.ing
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of mcp.crank.ing. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ing. present 27256 8 Verified
crank.ing. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options DENY
referrer-policy no-referrer
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.crank.ing/mcp Verified 200
http (plaintext) http://mcp.crank.ing/mcp HTTPS enforced 301 https://mcp.crank.ing/mcp
MCP tools — 167 exposed · ~28,037 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
approve_proposal ~91

Approve a pending PROPOSAL within its TTL (non-custodial control plane). Flips a propose-mode proposal (see set_permission_mode) from pending to approved, making it executable. Bookkeeping only -- it does not itself re-dispatch the original tool call.

NameTypeReqDescription
approved_bystring
caller_idstring
proposal_idstringyes

Structured output declared, but exposes no named fields.

No examples provided.

asset_classification ~162

Classify a token: crypto / equity / wrapped_major / lst / stablecoin. Provide token_address (mint) or a known symbol. Tokenized securities (xStocks, Ondo) classify as 'equity', which subjects strategies to the SEC framework guardrails (neutral tools, per-execution confirmation for discretionary types). Registry-authoritative with a static + symbol fallback. Factual classification only -- not a recommendation. Workflow: RISK/COMPLIANCE step -- classify before executing; 'equity' forces geo-gating + per-execution confirm. Pairs with get_disclaimers. See get_trading_workflow.

NameTypeReqDescription
caller_idstring
symbol
token_address

Structured output declared, but exposes no named fields.

No examples provided.

assign_ticket ~50

Assign a support ticket to a staff user (username or id). Empty -> unassign.

NameTypeReqDescription
assigned_tostring
caller_idstring
ticket_idstringyes

Structured output declared, but exposes no named fields.

No examples provided.

authorize_session_signer ~196

Authorize a delegated session signer for a managed wallet (non-custodial). signer_pubkey is a keypair the USER creates and holds -- ONLY its PUBLIC key ever crosses this call (hard rule 1). Once authorized, calls that carry this signer_pubkey are trade-only: the gate rejects any transfer/ withdraw/close-account/authority-change instruction targeting a destination outside the wallet's own accounts (docs/ SESSION_SIGNER_DESIGN.md). capabilities: subset of swap|perp|lend|stake, empty/omitted = full default set. expires_at: optional ISO 8601 hard expiry. Effective on the very next call using this signer_pubkey.

NameTypeReqDescription
caller_idstring
capabilities
expires_atstring
labelstring
signer_pubkeystringyes
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

backtest_strategy ~449

Backtest a strategy on historical Solana OHLCV before deploying capital. strategy_type is one of the 17 Crank strategy types (dca, momentum, rebalance, stoploss, protect, snipe, sentiment, vault, yield_farm, hedge, equity_dca, perp_grid, copy_wallet, market_make, arb, basis_trade, composite). asset is a token mint; timeframe one of 1m/5m/15m/1h/4h/1d; start_date/end_date are ISO-8601. params tunes the strategy (e.g. {"fast":5,"slow":20} for momentum). For strategy_type="composite" pass the signal-rule ``definition`` (see compose_strategy); the response includes a per-stream signal_coverage honesty report -- streams with partial persisted history are flagged, never silently zero-filled. slippage_model: "fixed" (slippage_bps haircut) or "jupiter_replay" (realised price-impact from the recorded quote corpus). Returns performance metrics (Sharpe/Sortino/Calmar, max drawdown, win rate, profit factor, VaR/CVaR), final equity, and trade + signal counts. Read-only simulation -- no fee, no on-chain action. Workflow: SIMULATE step -- validate a strategy on history before risking capital; run twice (e.g. auto vs long_only) to compare. Poor Sharpe/deep drawdown -> retune or fall back to the yield leg. Feeds get_risk_assessment -> the strategy_*_create tools. See get_trading_workflow.

NameTypeReqDescription
assetstringyes
caller_idstring
definition
end_datestringyes
fee_bpsinteger
initial_capitalnumber
params
slippage_bpsinteger
slippage_modelstring
start_datestringyes
strategy_typestringyes
timeframestringyes
wallet_addressstring

Structured output declared, but exposes no named fields.

No examples provided.

bulk_send_social ~305

Distribute one token to many X handles in one call (non-custodial, ENG-bfeacb2c). ``recipients`` is a list of ``{recipient_handle, amount, message?}`` dicts (``recipient`` accepted as an alias; ``amount`` in base units; ``message`` an optional per-recipient note). Locks each amount of ``token`` (mint) from ``sender_wallet`` into a fresh claim escrow and returns the ``create_claim`` instructions batched into as few UNSIGNED transactions as fit -- the sender signs + broadcasts every returned tx. Each send carries its crank.ing claim link, the bearer ``claim_code`` (returned once, embed per tweet), and the ``transaction_index`` of the tx that funds it. Anti-abuse gated (account age, verified wallet, per-sender daily limit counting the whole batch). platform: x. ``idempotency_key`` (ENG-ac7961aa, optional): a client-generated UUID. Retrying with the same key + same args replays the original result (same claim_codes/links) instead of locking a second batch of escrows.

NameTypeReqDescription
caller_idstring
idempotency_keystring
platformstring
recipientsarrayyes
referralstring
sender_walletstringyes
tokenstringyes

Structured output declared, but exposes no named fields.

No examples provided.

cancel_perp_order ~118

Cancel a resting perp order on its venue (non-custodial). ``idempotency_key`` (ENG-ac7961aa, optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-cancelling the order.

NameTypeReqDescription
acknowledge_tier_bboolean
caller_idstring
idempotency_keystring
order_idstringyes
venue
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

check_claim_status ~152

Sender-facing claim status of a social send (FREE read, ENG-bfeacb2c). Look up by ``claim_id`` (the send id) OR ``recipient`` (X handle); optionally scope a recipient lookup to one ``sender_wallet``. Returns ``{"sends": [...]}`` each with status (pending/claimed/expired/returned), claim_date, returned_at, recipient_wallet, amount, claim_link, expiry_ts, and expires_in_seconds (a live countdown, 0 once expired). Never exposes the claim-code secret.

NameTypeReqDescription
caller_idstring
claim_id
recipientstring
sender_walletstring

Structured output declared, but exposes no named fields.

No examples provided.

claim_status ~41

Public status of a crank.ing claim code (status, amount, claimable, expiry).

NameTypeReqDescription
caller_idstring
codestringyes

Structured output declared, but exposes no named fields.

No examples provided.

clone_strategy ~93

Clone a published strategy config to a wallet (records attribution). Returns the config_template to deploy via the strategy create tools. The clone is attributed to the template author for the clone-creator fee share (15% of the tech fee on clone actions, MB#13669). Free to clone.

NameTypeReqDescription
caller_idstring
template_idintegeryes
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

close_perp_position ~184

Close a perp position (full/partial) on its venue (non-custodial). position_id is venue-native (for Drift it is the market symbol). close_pct in (0, 100]. Returns an UNSIGNED tx / signing payload to sign + broadcast. ``idempotency_key`` (ENG-ac7961aa, optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-closing the position.

NameTypeReqDescription
acknowledge_tier_bboolean
caller_idstring
close_pctnumber
idempotency_keystring
pay_in_crankboolean
payment_headerstring
position_idstringyes
venue
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

compose_strategy ~87

Validate a composite definition -- returns the normalised definition + validation report. No persist; read = FREE per the fee schedule. Checks: schema, stream existence against the signal catalog, rule-tree depth/size limits, required risk caps, and the anti-gaming rule (a social sentiment/trend_social stream may never be the sole entry trigger).

NameTypeReqDescription
definitionobjectyes

Structured output declared, but exposes no named fields.

No examples provided.

crank_dependency_status ~125

Protocol dependency compatibility matrix — are we compatible right now? Read-only. Returns per-protocol RED/AMBER/GREEN status (drift, jupiter, kamino, marginfi, marinade, sanctum, raydium), our SDK pin vs latest, last health-probe result, on-chain program slot, next recommended action, and any auto-filed Engaij ticket — plus an overall headline. Maintained by the backend dependency response engine; callable from the morning briefing, dispatch, or ad-hoc.

NameTypeReqDescription
caller_idstring

Structured output declared, but exposes no named fields.

No examples provided.

crank_prompt_health ~113

Dev Process Health — recurring CC friction this week vs resolved. Read-only. Returns the latest weekly close-report review snapshot (ENG-dc453c0d): a ``Prompt health: N recurring issues, M resolved this week`` headline plus per-issue week-over-week trend (``trending_down_after_fix``) for a dashboard widget. Surfaced in the Monday morning briefing under "Dev Process Health". ``available=False`` until the first weekly review runs.

NameTypeReqDescription
caller_idstring

Structured output declared, but exposes no named fields.

No examples provided.

create_agent_wallet ~148

Provision a managed wallet for an agent (non-custodial control plane). Creates an AgentWallet record keyed by agent_id and applies an optional default policy preset. default_policies: conservative | balanced | aggressive. wallet_address is the agent's PUBLIC key (caller-supplied); omit it to create a pending record the Turnkey provisioning ticket fills in. Returns wallet_address, agent_id, status, and the applied_policies.

NameTypeReqDescription
agent_idstringyes
caller_idstring
default_policiesstring
display_namestring
owner_addressstring
wallet_addressstring

Structured output declared, but exposes no named fields.

No examples provided.

create_execution_intent ~209

Create a propose-only execution intent; returns an approval URL to hand to the user. Lane 1 (non-custodial default): builds the unsigned swap transaction server-side, persists it as an intent, and returns {intent_id, approval_url}. NOTHING executes until the user opens the approval URL in their browser and signs with their own wallet. This tool never signs and never sees a key. amount is in input-token base units. The quote includes the technology service fee. After the user approves, poll get_intent_status and report ONLY the persisted on-chain state (CONFIRMED before any success claim).

NameTypeReqDescription
allow_unverifiedboolean
amountintegeryes
caller_idstring
idempotency_keystring
input_tokenstringyes
output_tokenstringyes
slippage_bpsinteger
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

delete_webhook ~47

Delete one of a wallet's webhook subscriptions (free control-plane write).

NameTypeReqDescription
caller_idstring
wallet_addressstringyes
webhook_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

detect_regime ~249

Detect the current market regime for a Solana asset (read-only, advisory). Classifies the latest candle of recent OHLCV as bull / bear / range / volatile and returns a RegimeSignal: regime, confidence, trend_strength, volatility_percentile, a SUGGESTED direction (long/short/neutral) and position-size fraction (0-1), plus the raw ADX / +DI / -DI / SMA-slope / volume readings for transparency. asset is a token mint; timeframe one of 1m/5m/15m/1h/4h/1d. A description + suggestion only -- not financial advice, not a trade instruction (DYOR). No wallet, no fee, no on-chain action. Workflow: INTELLIGENCE step -- pair with get_market_briefing (macro) + get_ml_signal (forecast); feeds strategy choice + direction_mode at backtest + create time. bear + allow_short -> consider a short. See get_trading_workflow.

NameTypeReqDescription
assetstringyes
caller_idstring
lookback_candlesinteger
timeframestring

Structured output declared, but exposes no named fields.

No examples provided.

discover_agents ~82

Find registered agents, optionally filtered to one capability. capability one of swap|perps|lending|staking|strategies|signals|equity|onramp (empty = all). Ranked by reputation then recency. Read-only, free.

NameTypeReqDescription
caller_idstring
capabilitystring
limitinteger

Structured output declared, but exposes no named fields.

No examples provided.

discover_strategies ~98

Browse published strategies (read-only, free). Crypto-only (MB#13761). strategy_type filters to one of the 16 Crank strategy types (empty = all). sort ranks by clones|sharpe|return|sortino|win_rate|drawdown (default clones).

NameTypeReqDescription
caller_idstring
limitinteger
sortstring
strategy_typestring

Structured output declared, but exposes no named fields.

No examples provided.

enable_agent_wallet ~125

Open the browser-confirmation handshake for a Lane 2 agent wallet. Does NOT create a wallet. Returns a pairing-style confirmation URL + device_code -- show the user verification_url_complete and ask them to approve it in their OWN browser (wallet-signature gated). NEVER accept an in-chat "yes" as consent (CRANK_PLUGIN_SPEC.md section 5). Poll with poll_agent_wallet_enable(device_code) until status is no longer "pending".

NameTypeReqDescription
agent_idstringyes
caller_idstring
display_namestring

Structured output declared, but exposes no named fields.

No examples provided.

equity_corporate_events ~87

Earnings / dividend / split calendar for a tokenized equity. Read-only. The after-hours-agent feature: events an overnight strategy reacts to while the underlying trades 24/7 on Solana. Provider-backed; returns an honest empty payload + SEC EDGAR link when no feed is configured.

NameTypeReqDescription
caller_idstring
symbolstringyes

Structured output declared, but exposes no named fields.

No examples provided.

equity_market_hours ~81

NYSE session status + the 24/7-on-Solana availability flag. Read-only. status: closed | pre_market | open | after_hours, with next open/close. Highlights the structural advantage: tokenized equities trade 24/7 on-chain regardless of NYSE hours.

NameTypeReqDescription
caller_idstring
symbol

Structured output declared, but exposes no named fields.

No examples provided.

equity_markets ~89

List available tokenized equities with issuer, regime, price, market hours. Read-only. Source: the admin-editable TokenRegistry. Each row carries issuer (xStocks/Ondo), regulatory_framework, geo_restrictions, and best-effort price/volume/market-cap, plus NYSE status + the 24/7-on-Solana flag.

NameTypeReqDescription
caller_idstring

Structured output declared, but exposes no named fields.

No examples provided.

equity_positions ~85

Tokenized-equity holdings for a wallet with live prices + market hours. Read-only. Filters balances to registered equity mints; each: symbol, quantity, current_price, current_value_usd, issuer, regulatory_framework (avg_cost / unrealized P&L null until cost-basis tracking lands).

NameTypeReqDescription
caller_idstring
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

equity_quote ~145

Read-only Jupiter quote for a tokenized-equity trade (no execution). amount is in base units of the INPUT token (USDC for buy, the equity for sell). Returns expected output, price impact, effective fee, slippage, and the SEC disclaimer. ``venue_hint`` (ENG-fc290438/ENG-00ebde90, MB#18215) is ADVISORY, never required -- see trade_equity.

NameTypeReqDescription
amountintegeryes
caller_idstring
sidestring
slippage_bpsinteger
symbolstringyes
venue_hint

Structured output declared, but exposes no named fields.

No examples provided.

flash_loan ~228

Marginfi flash loan for arbitrage (non-custodial, atomic). instructions are JSON ix executed between borrow + repay legs. Returns a single UNSIGNED base64 tx that reverts unless repaid in-transaction. The borrowed token is authenticity-verified first; set allow_unverified=true to borrow an unverified mint at your own risk. Past the daily free tier an x402 payment_header is required. ``idempotency_key`` (ENG-7ded4fb8, optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-issuing the flash loan tx.

NameTypeReqDescription
allow_unverifiedboolean
amountintegeryes
caller_idstring
idempotency_keystring
instructionsarrayyes
marginfi_accountstringyes
pay_in_crankboolean
payment_headerstring
tokenstringyes
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

fund_wallet ~221

Fund a wallet with fiat via MoonPay (card/bank/Apple Pay -> USDC). Returns a hosted checkout_url for the user to complete payment + a session_id to poll with get_onramp_status. Purchased USDC settles directly to wallet_address (non-custodial). payment_method: card | bank | apple_pay. The fee is charged on amount_usd notional past the daily free tier (x402 payment_header). ``idempotency_key`` (ENG-7ded4fb8, optional): a client-generated UUID. Retrying with the same key + same args replays the original result (same checkout_url/session_id) instead of creating a second MoonPay session.

NameTypeReqDescription
amount_usdnumberyes
caller_idstring
currencystring
idempotency_keystring
pay_in_crankboolean
payment_headerstring
payment_methodstring
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_agent_profile ~41

Read an agent's published profile + its referral stats (read-only, free).

NameTypeReqDescription
caller_idstring
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_all_venues_status ~68

Dashboard overview of all configured venues for routing decisions. Read-only. One health record per active venue (status, deploy slot, TVL, 24h volume, composite safety score) so an agent can pick a venue in a single call.

NameTypeReqDescription
caller_idstring

Structured output declared, but exposes no named fields.

No examples provided.

get_arb_discrepancies ~180

Persisted cross-venue discrepancy episodes (free read). Already-debounced ``cross_exchange`` signals (each required >= N consecutive polls above the discrepancy threshold to exist at all), filtered to ``spread_bps >= min_spread_bps`` and optionally to ``assets``, within ``window_hours``. One entry per episode: venue pair, spread, first/last seen, persistence, reference price. Observed data, decision-support only -- ignores fees, slippage, and transfer latency; never an execution instruction. Not financial advice. Workflow: INTELLIGENCE step -- pair with get_cross_exchange for the current live-ish read on a specific asset.

NameTypeReqDescription
assets
caller_idstring
min_spread_bpsnumber
window_hoursinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_balances ~59

Wallet token balances (SOL + all SPL tokens) with USD valuations. Workflow: ORIENT step -- the starting read for any flow. See get_trading_workflow.

NameTypeReqDescription
caller_idstring
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_collective_insights ~251

Fleet-wide collective insights, historical performance data (free read). Filters: asset (mint/symbol), strategy_type, insight_type (one of param_performance/signal_effectiveness/timing/venue_quality/crowding/ regime_conditional). Only ACTIVE, non-suppressed/non-expired insights are ever returned. Each insight carries n (contributing agents), effect_size, a confidence interval, k and epsilon_spent (privacy metadata -- weigh a low-k or high-epsilon insight more cautiously), crowding_index, and staleness (age vs half-life). detail=concise adds a rendered human-readable statement; detail=full adds the raw statement_template/params/signal_keys. Every response is historical collective performance data aggregated across the Crank agent fleet -- descriptive only, never a recommendation or a promise of results. Workflow: INTELLIGENCE step -- fleet-wide context alongside get_market_briefing / get_consensus before sizing or creating strategies.

NameTypeReqDescription
assetstring
caller_idstring
detailstring
insight_typestring
strategy_typestring

Structured output declared, but exposes no named fields.

No examples provided.

get_consensus ~272

Multi-source consensus + contrarian read for one asset (PLATINUM premium). Cross-references the classified intelligence signals for ``asset`` over the last ``window_hours`` (default 24): how many independent sources agree on direction (consensus_score 0-1), the source breakdown (bullish/bearish/neutral), and the accuracy-weighted directional score (-1..+1) that blends each source's call by its historical hit-rate (get_source_accuracy). High agreement (>80%) is flagged as a crowded, potentially contrarian condition; low agreement (<30%) as uncertain. This is a PLATINUM-tier feature: covered by a Platinum $CRANK-staker subscription, or pay the per-call x402 fee with payment_header (PAYMENT_REQUIRED otherwise); the billing outcome is in the response ``billing`` field. Descriptive signal only, not a recommendation. Not financial advice. Workflow: INTELLIGENCE step -- pair with get_market_briefing + get_source_accuracy to gauge how crowded a directional read is before sizing.

NameTypeReqDescription
assetstringyes
caller_idstring
payment_headerstring
wallet_addressstring
window_hoursinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_contrarian_signals ~224

Contrarian (crowded) + uncertain assets across the window (PLATINUM premium). Scans the classified intelligence signals over the last ``window_hours`` and returns assets where source agreement is very high -- a one-sided, crowded positioning flagged as a potential contrarian condition (with the side a contrarian would take) -- and assets where agreement is very low (uncertain). With ``asset`` set, returns just that asset's assessment. PLATINUM-tier: covered by a Platinum $CRANK-staker subscription or a verified x402 payment_header (PAYMENT_REQUIRED otherwise); the billing outcome is in ``billing``. Descriptive signal only, not a recommendation. Not financial advice. Workflow: INTELLIGENCE step -- surface crowded trades to fade or uncertain assets to avoid before committing to a regime/allocation.

NameTypeReqDescription
assetstring
caller_idstring
payment_headerstring
wallet_addressstring
window_hoursinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_crank_score ~155

A wallet's Crank Score reputation breakdown (FREE read, ENG-95f335be). Returns total_score, per-activity components (trade / staking / strategy / social / claim), sybil_flagged + penalty_bps, and the score-gated perks it unlocks under ``gates``: fee_discount_bps (additional technology service fee discount), daily_send_limit (higher social-send cap), priority_access, and the gate tier (0-3). Score accrues from on-platform activity; circular funding between wallets is flagged + penalised. Well-formed zeros for an unscored wallet.

NameTypeReqDescription
caller_idstring
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_cross_exchange ~175

Cross-venue snapshot for one asset (free read). Per-venue price/bid/ask/movement (5m/1h/24h change), the pairwise spread matrix (bps), the widest current spread, and -- for wrapped-asset legs (BTC/ETH) only -- the Solana-DEX wrapped-asset premium vs the CEX-consensus reference price. Observed data, decision-support only -- spreads ignore fees, slippage, and cross-venue/bridge transfer latency; never an execution instruction. Not financial advice. Workflow: INTELLIGENCE step -- pair with get_arb_discrepancies for the persisted, already-debounced episode history.

NameTypeReqDescription
assetstringyes
caller_idstring
window_minutesinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_disclaimers ~98

Compliance disclaimers for an asset class (SEC framework). Pass asset_classification (crypto/equity/wrapped_major/lst/stablecoin), or a token_address/symbol to classify first. Equity adds a securities-specific non-registration / not-advice notice. Full text: crank.ing/disclosures.

NameTypeReqDescription
asset_classification
caller_idstring
symbol
token_address

Structured output declared, but exposes no named fields.

No examples provided.

get_health_factor ~83

Liquidation-risk monitor for a lending position. Returns health_factor (>1 safe, <1 liquidatable), collateral value, debt value, liquidation threshold. protocol: kamino | marginfi.

NameTypeReqDescription
caller_idstring
marginfi_account
market
protocolstringyes
wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_ilo_adoption_status ~239

The ILO adoption gate -- one machine-checkable readiness read (free). Andrew's decision (MB#20076, ENG-5de0ede9): the ILO proceeds only once Crank has 1,000 active users, where an active user has at least 5 executed Crank transactions inside a rolling 7-day window. Signups do not count. Returns gate_met (active_users >= 1000), active_users, near_active_users, users_with_any_tx and the pinned transaction definition. A transaction is an EXECUTED trade only -- a recorded swap (broadcast signature required), a perp open, or a user-initiated perp close; reads, quotes, unexecuted intents, paper trades, liquidations and devnet activity never count. ``cluster=devnet`` exposes the same metric for pre-launch observability; the gate itself is the mainnet number. Aggregate counts only, no per-wallet data. Informational readiness metric; not a promise of any launch, outcome or timeline.

NameTypeReqDescription
caller_idstring
clusterstring

Structured output declared, but exposes no named fields.

No examples provided.

get_indicators ~329

Full standard technical-indicator set for one asset/timeframe (read-only). Computes sma, ema, macd, adx (+DI/-DI), rsi, stochastic (%K/%D), roc, bollinger (mid/upper/lower/width/%B), atr, keltner, realised_vol, vwap, volume_ratio and volume_profile (POC / value area / high-volume-node liquidity bands with 0-1 depth scores) from recent OHLCV via the canonical backend/indicators library. asset is a token mint; timeframe one of 1m/5m/15m/1h/4h/1d; indicators selects a subset (empty = all); lookback candles capped at 500; params overrides per indicator, e.g. {"rsi": {"period": 21}}; include_series=true adds per-bar series (last 200 points). Readings are None while history is warming up. Computed readings only -- not financial advice, not a trade instruction (DYOR). No wallet, no fee, no on-chain action. Workflow: INTELLIGENCE step -- raw indicator readings underlying detect_regime; pair with get_ml_signal (forecast) + get_signals (persisted cross-source signals). See get_trading_workflow.

NameTypeReqDescription
assetstringyes
caller_idstring
include_seriesboolean
indicators
lookbackinteger
params
timeframestring

Structured output declared, but exposes no named fields.

No examples provided.

get_integrator_earnings ~53

Per-action + per-month integrator earnings (onboarding API). Read-only.

NameTypeReqDescription
caller_idstring
integrator_wallet_addressstringyes
limitinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_integrator_stats ~78

Integrator dashboard: status, share, onboarded count, earnings breakdown. Read-only. Every figure is fee-share USD (technology service fees the onboarded agents paid), never PnL -- a fee-share, never a performance-share.

NameTypeReqDescription
caller_idstring
integrator_wallet_addressstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_intent_status ~124

Read the persisted lifecycle state of an execution intent (free read). Returns the server-persisted state only -- CREATED, APPROVED, SUBMITTED, UNKNOWN, CONFIRMED, FAILED, or EXPIRED -- plus the simulation summary and the on-chain signature once submitted. Never infers: UNKNOWN means an unresolved send (may have landed); only CONFIRMED is a verified on-chain success (fail-closed reporting, docs/CRANK_PLUGIN_SPEC.md section 6).

NameTypeReqDescription
caller_idstring
intent_idstringyes

Structured output declared, but exposes no named fields.

No examples provided.

get_leaderboard ~112

Top published strategies ranked by a verified backtest metric (free). Crypto-only -- equity templates excluded (MB#13761). sort in sharpe|return| sortino|win_rate|drawdown|clones (default sharpe). Each entry carries factual backtest metrics + the on-chain attestation hash; no return promises (rule 8).

NameTypeReqDescription
caller_idstring
limitinteger
sortstring
strategy_typestring

Structured output declared, but exposes no named fields.

No examples provided.

get_lending_rates ~96

Compare supply/borrow rates across Kamino + Marginfi. Each row: protocol, token mint, symbol, supply/borrow APY %, TVL USD, utilization. Workflow: YIELDS step -- the passive-return option for idle/low-conviction capital (lending USDC removes price exposure). Pairs with get_lst_yields. See get_trading_workflow.

NameTypeReqDescription
caller_idstring

Structured output declared, but exposes no named fields.

No examples provided.

get_lst_yields ~95

Compare APY across LST providers (Marinade/Jito/Blaze) with MEV-boost + validator-count descriptors. Workflow: YIELDS step -- staking keeps SOL exposure + earns yield (vs lending, which removes price exposure). Best APY becomes the 'park it' leg of the allocation; execute via liquid_stake. See get_trading_workflow.

NameTypeReqDescription
caller_idstring

Structured output declared, but exposes no named fields.

No examples provided.

get_market_briefing ~304

Crypto market briefing synthesised from free public sources (tiered). Returns a market briefing aggregated from free crypto data sources (Coin Bureau, DeFiLlama, the alternative.me Fear & Greed index) plus classified sentiment signals: market summary, top movers / most-discussed assets, sentiment regime, the Fear & Greed reading, and source attribution. assets is an optional list of tickers (e.g. ["BTC","SOL"]); for paid tiers it declares the agent's holdings and focuses the synthesis. detail_level: "free" returns the pre-generated daily Free briefing (metered at $0, quota'd per day); "pro" ($0.25) and "platinum" ($0.50) return real-time Sonnet/Opus synthesis personalised to the wallet's portfolio + active strategies. Paid tiers are covered by an active $CRANK-staker subscription or require a verified x402 payment_header (PAYMENT_REQUIRED otherwise). The billing outcome is in the response ``billing`` field. Not financial advice. Workflow: INTELLIGENCE step (usually first) -- macro/sentiment context that frames detect_regime + the allocation. See get_trading_workflow.

NameTypeReqDescription
assets
caller_idstring
detail_levelstring
payment_headerstring
timeframestring
wallet_addressstring

Structured output declared, but exposes no named fields.

No examples provided.

get_market_regime ~132

Market-wide regime from the persisted regime/macro signal feed (free read). Returns the dominant regime, its confidence, a distribution across observed regimes, and the contributing signals. For a live per-asset regime computed from OHLCV, use ``detect_regime`` instead. Descriptive observed data only. Not financial advice. Workflow: INTELLIGENCE step -- market-wide posture check before choosing a strategy type or direction_mode; pair with detect_regime for the asset leg.

NameTypeReqDescription
caller_idstring
limitinteger
window_hoursinteger

Structured output declared, but exposes no named fields.

No examples provided.

get_ml_signal ~290

ML ensemble directional forecast for a Solana asset (read-only). Trains the ported Bybit ensemble (XGBoost + RandomForest + NeuralNet + GradientBoost + a candle flow proxy) walk-forward on the last lookback_candles of OHLCV, then returns the blended P(up move) for the latest candle: score in [0,1], confidence (distance from 0.5), direction (long/short/neutral via buy_threshold/sell_threshold), per-model contributions and top feature importances. asset is a token mint; timeframe one of 1m/5m/15m/1h/4h/1d; horizon is the forward-return label horizon in candles. On spot, 'short' = exit-to-flat (no native short). Heuristic forecast from price history only -- not financial advice. No wallet, no fee, no on-chain action. Workflow: INTELLIGENCE step -- a directional forecast that complements detect_regime; low confidence -> cut size or stay flat. See get_trading_workflow.

NameTypeReqDescription
assetstringyes
buy_thresholdnumber
caller_idstring
horizoninteger
lookback_candlesinteger
sell_thresholdnumber
timeframestring

Structured output declared, but exposes no named fields.

No examples provided.