accueil / serveurs / Finance & Paiement / ing.crank/crank
ing.crank/crank
serveur MCP (Model Context Protocol) · crank-public 3.4.9
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que ing.crank/crank est sûr ?
Au dernier audit MCP Hub, le serveur MCP « ing.crank/crank » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 196 outils
- approve_proposal≈ 233 tokens
Approve a pending PROPOSAL within its TTL, then re-dispatch it (non-custodial control plane). Flips a propose-mode proposal (see set_permission_mode) from pending to approved, then immediately re-invokes the original deferred tool call (stored ``tool_name`` + ``params``) through this same dispatch table. On redispatch failure the proposal stays APPROVED (not silently EXECUTED or PENDING) -- call this again to retry. See ``wallets.approve_proposal``.
Paramètres, retour & exemple (3)
Paramètrescaller_id· string · optionnelapproved_by· string · optionnelproposal_id· string · requis
Exemple d'appel{"name": "approve_proposal", "arguments": {"proposal_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - asset_classification≈ 278 tokens
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.
Paramètres, retour & exemple (3)
Paramètressymbol· ? · optionnelcaller_id· string · optionneltoken_address· ? · optionnel
Exemple d'appel{"name": "asset_classification", "arguments": {"symbol": "texte", "caller_id": "texte", "token_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - authorize_session_signer≈ 369 tokens
Refuses ALWAYS with BROWSER_CONFIRMATION_REQUIRED. Minting (or reactivating) a session signer grants NEW signing authority -- a trust grant at least as sensitive as loosening a policy, which is already browser-gated. This tool therefore refuses EVERY call, for EVERY wallet (not only Lane 2), after validating capabilities for early UX. The only mint path is the browser handshake: request_session_signer_authorization (open) -> the wallet OWNER approves in their browser -> poll_session_signer_authorization (bind the stored payload). signer_pubkey is a keypair the USER creates and holds -- ONLY its PUBLIC key ever crosses this surface (hard rule 1); once authorized via the handshake, calls carrying it are trade-only under tx_verify (docs/SESSION_SIGNER_DESIGN.md).
Paramètres, retour & exemple (6)
Paramètreslabel· string · optionnelcaller_id· string · optionnelexpires_at· string · optionnelcapabilities· ? · optionnelsigner_pubkey· string · requiswallet_address· string · requis
Exemple d'appel{"name": "authorize_session_signer", "arguments": {"signer_pubkey": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - backtest_strategy≈ 603 tokens
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.
Paramètres, retour & exemple (13)
Paramètresasset· string · requisparams· ? · optionnelfee_bps· integer · optionnelend_date· string · requiscaller_id· string · optionneltimeframe· string · requisdefinition· ? · optionnelstart_date· string · requisslippage_bps· integer · optionnelstrategy_type· string · requisslippage_model· string · optionnelwallet_address· string · optionnelinitial_capital· number · optionnel
Exemple d'appel{"name": "backtest_strategy", "arguments": {"asset": "texte", "end_date": "texte", "timeframe": "texte", "start_date": "texte", "strategy_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - bridge_in≈ 454 tokens
Fund your Solana wallet from a major EVM chain (non-custodial). Cross-chain FUNDING rail (deBridge DLN): builds an UNSIGNED EVM transaction creating a bridge order that pays ``dst_token`` (a Solana mint, e.g. USDC) to ``wallet_address``. Sign and broadcast the returned ``evm_transaction`` ({to, data, value}) with your OWN wallet (``evm_sender``) on ``src_chain`` -- Crank never signs, never broadcasts the EVM leg, and never holds funds in flight. ``amount`` is in source-token base units. Supported source chains: ethereum, arbitrum, base, optimism, polygon, bnb, avalanche, linea. Fund from any major chain, execute on Solana: pair with jupiter_swap / strategies once the funds arrive (confirm with get_balances). Value-bearing (technology service fee via x402 past the daily free tier). Paper trading mode returns a simulated order with a real DLN quote. ``idempotency_key`` (optional): retrying with the same key + args replays the original order instead of creating a second one.
Paramètres, retour & exemple (10)
Paramètresamount· integer · requiscaller_id· string · optionneldst_token· string · requissrc_chain· string · requissrc_token· string · requisevm_sender· string · requispay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnel
Exemple d'appel{"name": "bridge_in", "arguments": {"amount": 1, "dst_token": "texte", "src_chain": "texte", "src_token": "texte", "evm_sender": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - bridge_out≈ 560 tokens
Bridge value from Solana out to a major EVM chain (non-custodial). Cross-chain FUNDING rail (deBridge DLN), jupiter_swap two-phase pattern: without ``signed_transaction`` returns an UNSIGNED base64 Solana transaction creating the bridge order -- sign it with the wallet for ``wallet_address``. With ``signed_transaction`` broadcasts the caller-signed tx and returns tx_signature + a ``verification`` block (gate follow-on decisions on ``verification.confirmed``). ``src_token`` is the Solana mint committed, ``amount`` its base units; ``evm_recipient`` is YOUR address on ``dst_chain`` (ethereum, arbitrum, base, optimism, polygon, bnb, avalanche, linea). Value-bearing (technology service fee via x402 past the daily free tier; charged once per order on the build leg, never re-charged on the completion leg). Paper trading mode returns a simulated order with a real DLN quote. ``idempotency_key`` (optional): reuse the SAME key across the build call and its signed_transaction completion retry. ``order_id`` (optional): pass back the build leg's returned order_id on the signed_transaction completion call to reconcile both legs into one BridgeTransfer row -- then poll fulfillment with get_bridge_status(order_id).
Paramètres, retour & exemple (13)
Paramètresamount· integer · requisverify· boolean · optionnelorder_id· string · optionnelcaller_id· string · optionneldst_chain· string · requisdst_token· string · requissrc_token· string · requispay_in_crank· boolean · optionnelevm_recipient· string · requispayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "bridge_out", "arguments": {"amount": 1, "dst_chain": "texte", "dst_token": "texte", "src_token": "texte", "evm_recipient": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - bulk_send_social≈ 420 tokens
Distribute one token to many X handles in one call (non-custodial). ``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`` (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.
Paramètres, retour & exemple (7)
Paramètrestoken· string · requisplatform· string · optionnelreferral· string · optionnelcaller_id· string · optionnelrecipients· array · requissender_wallet· string · requisidempotency_key· string · optionnel
Exemple d'appel{"name": "bulk_send_social", "arguments": {"token": "texte", "recipients": [], "sender_wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - cancel_perp_order≈ 621 tokens
Cancel a resting perp order on its venue (non-custodial). ``jurisdiction``: cancel is geo-gated too -- see place_perp_order. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-cancelling the order. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- see place_perp_order; the two legs dedupe independently, so this never raises IDEMPOTENCY_CONFLICT. ``signed_transaction`` / ``verify`` (two-phase execution): see place_perp_order. A cancel moves no position, so confirming the signature landed IS the verification -- no state re-read is declared. ``venue_action`` (optional, completion leg only): see place_perp_order -- pass back the build leg's ``extra['venue_action']`` (e.g. Jupiter's cancel-limit-order) so the relay route is the venue's own declared one instead of one inferred from the signed bytes. ``simulate`` (optional): true = rehearse this call. The full gate stack (capability, kill switch, session signer, wallet policy, permission mode, soft launch, venue / compliance / token checks, fee quote) is evaluated read-only and returned as ``verdicts`` + ``would_execute``, with a paper fill where one applies. Nothing is built, signed, broadcast or charged. Omitted = your wallet's default_simulate setting; false = execute.
Paramètres, retour & exemple (12)
Paramètresip· string · optionnelvenue· ? · optionnelverify· boolean · optionnelorder_id· string · requissimulate· ? · optionnelcaller_id· string · optionneljurisdiction· ? · optionnelvenue_action· ? · optionnelwallet_address· string · requisidempotency_key· string · optionnelacknowledge_tier_b· boolean · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "cancel_perp_order", "arguments": {"order_id": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_claim_status≈ 246 tokens
Sender-facing claim status of a social send (FREE read). 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.
Paramètres, retour & exemple (4)
Paramètresclaim_id· ? · optionnelcaller_id· string · optionnelrecipient· string · optionnelsender_wallet· string · optionnel
Exemple d'appel{"name": "check_claim_status", "arguments": {"claim_id": "texte", "caller_id": "texte", "recipient": "texte", "sender_wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - claim_ilo_tokens≈ 343 tokens
Claim the launch tokens your liquidity release schedule has unlocked. Returns an UNSIGNED ``release_tokens`` transaction (``action: "sign_required"``) you sign with your own wallet and broadcast yourself. Crank NEVER co-signs a claim -- there is no backend signing path here by design (hard rule 1). When nothing has unlocked yet -- before the cliff, or everything unlocked has already been released, or the launch has not succeeded -- this returns ``action: "nothing_to_claim"`` with the schedule and a ``next_release_check_ts``, rather than a transaction the chain would reject. Free: a claim of your own allocation carries no technology service fee. Workflow: SETTLE step -- poll get_my_pledge_status, claim when ``release.releasable_base_units`` is non-zero.
Paramètres, retour & exemple (5)
Paramètrescaller_id· string · optionnellaunch_id· integer · requiswallet_address· string · requisidempotency_key· string · optionnelpledger_token_account· string · optionnel
Exemple d'appel{"name": "claim_ilo_tokens", "arguments": {"launch_id": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - claim_status≈ 119 tokens
Public status of a crank.ing claim code (status, amount, claimable, expiry).
Paramètres, retour & exemple (2)
Paramètrescode· string · requiscaller_id· string · optionnel
Exemple d'appel{"name": "claim_status", "arguments": {"code": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clear_agnta_grant≈ 202 tokens
Remove a wallet's AGNTA DelegationGrant cap opt-in (non-custodial control plane). LOOSENS enforcement (removes a cap constraining every value-bearing call on top of WalletPolicy) -- for a Lane 2 wallet this raises BROWSER_CONFIRMATION_REQUIRED: call request_agnta_grant_clear instead and have the user approve it in their own browser. A non-Lane-2 wallet clears directly.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "clear_agnta_grant", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clone_strategy≈ 188 tokens
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). Free to clone.
Paramètres, retour & exemple (3)
Paramètrescaller_id· string · optionneltemplate_id· integer · requiswallet_address· string · requis
Exemple d'appel{"name": "clone_strategy", "arguments": {"template_id": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - close_perp_position≈ 698 tokens
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. ``jurisdiction``: closes are geo-gated too -- see place_perp_order. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-closing the position. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- see place_perp_order; the two legs dedupe independently, so this never raises IDEMPOTENCY_CONFLICT. ``signed_transaction`` / ``verify`` (two-phase execution): see place_perp_order -- re-call with the signed payload and Crank relays it by custody tier and verifies the result. ``venue_action`` (optional, completion leg only): see place_perp_order -- pass back the build leg's ``extra['venue_action']`` (e.g. Jupiter's decrease-position) so the relay route is the venue's own declared one instead of one inferred from the signed bytes. ``simulate`` (optional): true = rehearse this call. The full gate stack (capability, kill switch, session signer, wallet policy, permission mode, soft launch, venue / compliance / token checks, fee quote) is evaluated read-only and returned as ``verdicts`` + ``would_execute``, with a paper fill where one applies. Nothing is built, signed, broadcast or charged. Omitted = your wallet's default_simulate setting; false = execute.
Paramètres, retour & exemple (15)
Paramètresip· string · optionnelvenue· ? · optionnelverify· boolean · optionnelsimulate· ? · optionnelcaller_id· string · optionnelclose_pct· number · optionnelposition_id· string · requisjurisdiction· ? · optionnelpay_in_crank· boolean · optionnelvenue_action· ? · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelacknowledge_tier_b· boolean · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "close_perp_position", "arguments": {"position_id": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - compose_strategy≈ 188 tokens
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).
Paramètres, retour & exemple (1)
Paramètresdefinition· object · requis
Exemple d'appel{"name": "compose_strategy", "arguments": {"definition": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_agent_wallet≈ 371 tokens
Register an agent wallet the caller controls (non-custodial control plane). Creates an AgentWallet record keyed by agent_id and applies a policy preset. policy_preset: conservative | balanced | aggressive; omitted = balanced. This is a changeable default, not a cap: edit limits later with set_wallet_policy. unlimited=True starts the wallet with NO policies and records that explicit choice in the decision journal; passing both a preset and unlimited=True is rejected. default_policies is the legacy alias of policy_preset. wallet_address is the agent's PUBLIC key (caller-supplied); omit it to provision managed signing. Returns wallet_address, agent_id, status, applied_policies and policy_summary (applied limits + how to change them).
Paramètres, retour & exemple (8)
Paramètresagent_id· string · requiscaller_id· string · optionnelunlimited· boolean · optionneldisplay_name· string · optionnelowner_address· string · optionnelpolicy_preset· string · optionnelwallet_address· string · optionneldefault_policies· string · optionnel
Exemple d'appel{"name": "create_agent_wallet", "arguments": {"agent_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_execution_intent≈ 982 tokens
Create a propose-only execution intent; returns an approval URL to hand to the user. submit_mode (optional): omitted/"public" is unchanged and is named in summary.execution. "mev_protected" builds the tx with the caller-paid Jito tip (jito_tip_lamports, or the platform default) and the approved intent is relayed to the Jito block engine (bundle-only). A failed protected relay is never retried publicly on this rail. 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). slippage_bps omitted (None) resolves to the published platform default of 50 bps -- unchanged from before; the returned summary's slippage.applied_source honestly reports "platform_default" in that case rather than falsely claiming "caller". FEE PARITY: the on-chain technology service fee baked into the unsigned tx is now resolved through the SAME discount-aware pipeline as ``jupiter_swap`` -- the tokenized-security classification is resolved ONCE here via the authoritative registry-backed classifier (parity with ``jupiter_swap``'s call site) and, together with ``pay_in_crank``, determines the quoted ``platformFeeBps``. Without this an intent proposed via this Lane 1 rail could be fee-classified differently from the identical swap executed via ``jupiter_swap``. Decision: ``pay_in_crank`` IS exposed here (not just ``is_security``) -- the fee rate is a quote-time input baked into the unsigned tx before the user ever reaches the approve page, so an agent must be able to request the pay-in-$CRANK discount at proposal time, same as it can on the direct swap path. GEO GATE: when either leg is a tokenized security this call is geo-gated (Reg S = no US persons) and OFAC-screened, same control ``jupiter_swap``/``trade_equity`` enforce -- ``jurisdiction`` declares the caller's jurisdiction once, ``ip`` is the caller's origin IP for the Reg-S IP layer. include_slippage_advisory (default False) adds the venue's own suggested tolerance for this route to summary.slippage (suggested_bps / suggestion / advisory_status) so an approver can compare it with applied_bps before signing. Advisory only: applied_bps, and the unsigned transaction, are unchanged by it. The probe overlaps the transaction build, so it adds little latency.
Paramètres, retour & exemple (14)
Paramètresip· string · optionnelamount· integer · requiscaller_id· string · optionnelinput_token· string · requissubmit_mode· ? · optionneljurisdiction· ? · optionneloutput_token· string · requispay_in_crank· boolean · optionnelslippage_bps· ? · optionnelwallet_address· string · requisidempotency_key· string · optionnelallow_unverified· boolean · optionneljito_tip_lamports· ? · optionnelinclude_slippage_advisory· boolean · optionnel
Exemple d'appel{"name": "create_execution_intent", "arguments": {"amount": 1, "input_token": "texte", "output_token": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - declare_jurisdiction≈ 542 tokens
Declare your wallet's jurisdiction for geo-gated trading. Gap: before this tool, the ONLY way to declare a jurisdiction was the ``jurisdiction=`` param on ``trade_equity`` -- an agent that only ever used perps/short/leverage tools had no write path at all, and the fail-safe unknown-jurisdiction-DENIED rule permanently refused it. Call this ONCE (or pass ``jurisdiction=`` directly on any perps/short/leverage/trade_equity tool) and the declaration is remembered for 90 days across EVERY geo-gated framework (tokenized equities under Reg S, perps/synthetic-shorting/leverage under the CFTC posture). ``jurisdiction`` is an ISO-3166-1 alpha-2 country code (e.g. "US", "GB", "SG") -- YOUR OWN self-declaration of where you are, never advice or a recommendation (hard rules 2/5-8). A US-person declaration does not unblock US-restricted venues; it makes the DENIED reason explicit rather than "jurisdiction_unknown". Re-declaring overwrites the prior value. Versioned terms acceptance: ``accepted_terms=true`` AND ``terms_version`` (the version string published with the terms at https://engaij.com/legal/crank/terms) are REQUIRED -- a declaration with the terms declined, unstated, or acknowledging a superseded version is rejected with the terms URL. Every value-bearing action (trade build, perp order, send, claim, payout) fails closed until this wallet has accepted the CURRENT terms version; when the published terms version is bumped, the next value-bearing action is refused until re-acceptance.
Paramètres, retour & exemple (6)
Paramètresip· string · optionnelcaller_id· string · optionneljurisdiction· string · requisterms_version· string · optionnelaccepted_terms· boolean · optionnelwallet_address· string · requis
Exemple d'appel{"name": "declare_jurisdiction", "arguments": {"jurisdiction": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_webhook≈ 137 tokens
Delete one of a wallet's webhook subscriptions (free control-plane write).
Paramètres, retour & exemple (3)
Paramètrescaller_id· string · optionnelwebhook_id· integer · requiswallet_address· string · requis
Exemple d'appel{"name": "delete_webhook", "arguments": {"webhook_id": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - detect_regime≈ 335 tokens
Detect the current market regime for a Solana asset (read-only, deterministic). 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.
Paramètres, retour & exemple (4)
Paramètresasset· string · requiscaller_id· string · optionneltimeframe· string · optionnellookback_candles· integer · optionnel
Exemple d'appel{"name": "detect_regime", "arguments": {"asset": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - discover_agents≈ 165 tokens
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.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnelcaller_id· string · optionnelcapability· string · optionnel
Exemple d'appel{"name": "discover_agents", "arguments": {"limit": 1, "caller_id": "texte", "capability": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - discover_strategies≈ 263 tokens
Browse published strategies (read-only, free). Crypto-only. 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). detail="concise" (default) trims each entry to template_id/strategy_type/ name/clone_count/is_verified/backtest_hash (template_id is the ID to chain into clone_strategy); "full" adds description/config_template/ performance_summary/eligibility/author_wallet/created_at.
Paramètres, retour & exemple (5)
Paramètressort· string · optionnellimit· integer · optionneldetail· string · optionnelcaller_id· string · optionnelstrategy_type· string · optionnel
Exemple d'appel{"name": "discover_strategies", "arguments": {"sort": "texte", "limit": 1, "detail": "texte", "caller_id": "texte", "strategy_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - enable_agent_wallet≈ 226 tokens
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".
Paramètres, retour & exemple (3)
Paramètresagent_id· string · requiscaller_id· string · optionneldisplay_name· string · optionnel
Exemple d'appel{"name": "enable_agent_wallet", "arguments": {"agent_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - equity_corporate_events≈ 175 tokens
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.
Paramètres, retour & exemple (2)
Paramètressymbol· string · requiscaller_id· string · optionnel
Exemple d'appel{"name": "equity_corporate_events", "arguments": {"symbol": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - equity_market_hours≈ 171 tokens
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.
Paramètres, retour & exemple (2)
Paramètressymbol· ? · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "equity_market_hours", "arguments": {"symbol": "texte", "caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - equity_markets≈ 163 tokens
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.
Paramètres, retour & exemple (1)
Paramètrescaller_id· string · optionnel
Exemple d'appel{"name": "equity_markets", "arguments": {"caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - equity_positions≈ 178 tokens
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).
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "equity_positions", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - equity_quote≈ 233 tokens
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`` is ADVISORY, never required -- see trade_equity.
Paramètres, retour & exemple (6)
Paramètresside· string · optionnelamount· integer · requissymbol· string · requiscaller_id· string · optionnelvenue_hint· ? · optionnelslippage_bps· integer · optionnel
Exemple d'appel{"name": "equity_quote", "arguments": {"amount": 1, "symbol": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - evm_balances≈ 232 tokens
Native (ETH) and ERC-20 balances for an address on an EVM chain. chain defaults to "base". ERC-20 balances are returned only for the contracts named in token_addresses -- an EVM RPC endpoint cannot enumerate a wallet's tokens, and guessing from a fixed list would under-report. Free (no technology service fee) -- a read with no transaction notional.
Paramètres, retour & exemple (4)
Paramètreschain· string · optionneladdress· string · requiscaller_id· string · optionneltoken_addresses· ? · optionnel
Exemple d'appel{"name": "evm_balances", "arguments": {"address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - evm_swap≈ 1098 tokens
Execute a spot swap on an EVM chain (non-custodial, two-phase, OPT-IN). chain must be named explicitly -- nothing routes to an EVM chain by default and a Solana route never fails over onto one. Base only today. Without signed_transaction: returns an UNSIGNED EIP-1559 transaction under 'evm_transaction' (Crank fills nonce, gas and 1559 fees, and re-estimates gas against current state). Sign it with YOUR wallet for taker -- Crank never signs and never holds a key. The first time a given ERC-20 is sold the response is phase='approval_required' with an 'approval_transaction' for the EXACT sell amount (never an unlimited allowance); sign that, wait for its receipt, then call again. With signed_transaction: broadcasts the signed RLP and returns tx_hash plus a 'verification' block -- receipt status (a MINED transaction is NOT necessarily a SUCCESSFUL one), the fill parsed from the ERC-20 Transfer log, and a balance cross-check. Gate follow-on decisions on verification.status == 'success'. Value-bearing: the SAME technology service fee schedule as every other Crank venue, at the same rate -- there is no per-chain fee differentiation. Paper trading mode returns a real 0x quote and builds nothing signable. idempotency_key (optional): reuse the SAME key across the SWAP build call and its signed_transaction completion retry. Do NOT carry a key across the approval_required response into the swap build that follows it -- those are two different calls, and the approval leg is not deduplicated at all (it builds nothing that could be duplicated: an ERC-20 approve SETS an allowance rather than adding to one, so re-issuing it is a no-op). replace_nonce / replace_max_fee_per_gas / replace_max_priority_fee_per_gas (optional, all three together, BUILD leg only): rebuild this swap at the nonce of a transaction you already broadcast that is stuck unmined, with both EIP-1559 fee fields bumped past the ones it carries so a node accepts it as a replacement instead of rejecting it as underpriced. Pass the stuck transaction's own nonce and fee pair (decimal or 0x-hex). Sign and broadcast the result as normal -- whichever of the two transactions lands, only one can, because they share a nonce. A replacement build IS billed the technology service fee, as its own action. It is a fresh 0x quote, a fresh gas estimate and a fresh transaction built against current state, and the fee is not suppressible on a leg the caller triggers by passing three parameters -- that would be a free-swap switch. Budget for it before replacing: a stuck swap that you replace costs two fees, not one. Use a FRESH idempotency_key for a replacement call (or omit it). The replace_* values are part of the idempotency identity, so carrying the stuck build's key forward raises IDEMPOTENCY_CONFLICT (non-retryable) -- same key, different arguments. That refusal is deliberate: the alternative would be replaying the cached original build back at you, old nonce and old fees, which is silently NOT the replacement you asked for. Retries of the SAME replacement, under its own fresh key, deduplicate normally.
Paramètres, retour & exemple (17)
Paramètreschain· string · optionneltaker· string · requisverify· boolean · optionnelbuy_token· string · requiscaller_id· string · optionnelsell_token· string · requissell_amount· string · requispay_in_crank· boolean · optionnelslippage_bps· ? · optionnelreplace_nonce· string · optionnelpayment_header· string · optionnelidempotency_key· string · optionnelpre_buy_balance· string · optionnelsigned_transaction· string · optionnelexpected_buy_amount· string · optionnelreplace_max_fee_per_gas· string · optionnelreplace_max_priority_fee_per_gas· string · optionnel
Exemple d'appel{"name": "evm_swap", "arguments": {"taker": "texte", "buy_token": "texte", "sell_token": "texte", "sell_amount": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - evm_swap_quote≈ 222 tokens
INDICATIVE swap quote on an EVM chain (pricing and routing only). sell_amount is in the sell token's base units. Returns no transaction and no calldata -- this quote is not executable and cannot be signed. Free (no technology service fee) -- a read with no transaction notional.
Paramètres, retour & exemple (6)
Paramètreschain· string · optionneltaker· string · optionnelbuy_token· string · requiscaller_id· string · optionnelsell_token· string · requissell_amount· string · requis
Exemple d'appel{"name": "evm_swap_quote", "arguments": {"buy_token": "texte", "sell_token": "texte", "sell_amount": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - evm_token_price≈ 206 tokens
Indicative price of an ERC-20 token on an EVM chain, quoted via 0x. Priced off routed liquidity (what one whole token sells for against quote_token, USDC by default), not an oracle. Free (no technology service fee) -- a read with no transaction notional.
Paramètres, retour & exemple (5)
Paramètreschain· string · optionnelamount· string · optionnelcaller_id· string · optionnelquote_token· string · optionneltoken_address· string · requis
Exemple d'appel{"name": "evm_token_price", "arguments": {"token_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - flash_loan≈ 363 tokens
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`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-issuing the flash loan tx.
Paramètres, retour & exemple (10)
Paramètrestoken· string · requisamount· integer · requiscaller_id· string · optionnelinstructions· array · requispay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelallow_unverified· boolean · optionnelmarginfi_account· string · requis
Exemple d'appel{"name": "flash_loan", "arguments": {"token": "texte", "amount": 1, "instructions": [], "wallet_address": "texte", "marginfi_account": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_agent_profile≈ 125 tokens
Read an agent's published profile + its referral stats (read-only, free).
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_agent_profile", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_all_venues_status≈ 209 tokens
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. detail="concise" (default) trims each record to venue/ display_name/status/composite_score (venue is the ID to chain into get_venue_health); "full" adds deploy slot, TVL, 24h volume, uptime.
Paramètres, retour & exemple (2)
Paramètresdetail· string · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "get_all_venues_status", "arguments": {"detail": "texte", "caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_arb_discrepancies≈ 303 tokens
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.
Paramètres, retour & exemple (4)
Paramètresassets· ? · optionnelcaller_id· string · optionnelwindow_hours· integer · optionnelmin_spread_bps· number · optionnel
Exemple d'appel{"name": "get_arb_discrepancies", "arguments": {"assets": "texte", "caller_id": "texte", "window_hours": 1, "min_spread_bps": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_balances≈ 208 tokens
Wallet token balances (SOL + all SPL tokens) with USD valuations. detail="concise" (default) returns total_usd + count + balances trimmed to token/symbol/usd_value (IDs for chaining into e.g. get_quotes); "full" returns every field (amount, price_usd) as before. Workflow: ORIENT step -- the starting read for any flow. See get_trading_workflow.
Paramètres, retour & exemple (3)
Paramètresdetail· string · optionnelcaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_balances", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_bridge_quote≈ 268 tokens
Cross-chain bridge quote via deBridge DLN (FREE read, no execution). Quote moving ``amount`` (source-token base units) of ``src_token`` on ``src_chain`` into ``dst_token`` on ``dst_chain``. Supported chains: ethereum, arbitrum, base, optimism, polygon, bnb, avalanche, linea, solana (one side must be solana). Returns estimated destination amount, per-leg USD values, and DLN protocol costs. Use before bridge_in / bridge_out. Nothing is charged and no order is created.
Paramètres, retour & exemple (6)
Paramètresamount· integer · requiscaller_id· string · optionneldst_chain· string · requisdst_token· string · requissrc_chain· string · requissrc_token· string · requis
Exemple d'appel{"name": "get_bridge_quote", "arguments": {"amount": 1, "dst_chain": "texte", "dst_token": "texte", "src_chain": "texte", "src_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_bridge_status≈ 221 tokens
Poll a dispatched DLN bridge order's fulfillment status (FREE read). Follow-up to bridge_in/bridge_out: a dispatched order stays "pending"/"broadcast" in Crank's own record forever unless polled -- this queries deBridge's dlnOrderStatus endpoint by ``order_id`` (returned as order_id from bridge_in / bridge_out) and best-effort updates the matching BridgeTransfer row. Returns dln_status (raw DLN value) and status (mapped onto pending/fulfilled/cancelled).
Paramètres, retour & exemple (2)
Paramètresorder_id· string · requiscaller_id· string · optionnel
Exemple d'appel{"name": "get_bridge_status", "arguments": {"order_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_collective_insights≈ 344 tokens
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, current insights are ever returned. Each insight carries n (contributing agents), effect_size, a confidence interval, crowding_index, staleness (age and expiry), and a rendered human-readable statement; detail=full adds the observed params and 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.
Paramètres, retour & exemple (5)
Paramètresasset· string · optionneldetail· string · optionnelcaller_id· string · optionnelinsight_type· string · optionnelstrategy_type· string · optionnel
Exemple d'appel{"name": "get_collective_insights", "arguments": {"asset": "texte", "detail": "texte", "caller_id": "texte", "insight_type": "texte", "strategy_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_consensus≈ 391 tokens
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.
Paramètres, retour & exemple (5)
Paramètresasset· string · requiscaller_id· string · optionnelwindow_hours· integer · optionnelpayment_header· string · optionnelwallet_address· string · optionnel
Exemple d'appel{"name": "get_consensus", "arguments": {"asset": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_contrarian_signals≈ 346 tokens
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.
Paramètres, retour & exemple (5)
Paramètresasset· string · optionnelcaller_id· string · optionnelwindow_hours· integer · optionnelpayment_header· string · optionnelwallet_address· string · optionnel
Exemple d'appel{"name": "get_contrarian_signals", "arguments": {"asset": "texte", "caller_id": "texte", "window_hours": 1, "payment_header": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_crank_score≈ 238 tokens
A wallet's Crank Score reputation breakdown (FREE read). 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.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_crank_score", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_cross_exchange≈ 260 tokens
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.
Paramètres, retour & exemple (3)
Paramètresasset· string · requiscaller_id· string · optionnelwindow_minutes· integer · optionnel
Exemple d'appel{"name": "get_cross_exchange", "arguments": {"asset": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_disclaimers≈ 224 tokens
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.
Paramètres, retour & exemple (4)
Paramètressymbol· ? · optionnelcaller_id· string · optionneltoken_address· ? · optionnelasset_classification· ? · optionnel
Exemple d'appel{"name": "get_disclaimers", "arguments": {"symbol": "texte", "caller_id": "texte", "token_address": "texte", "asset_classification": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_emerging_patterns≈ 306 tokens
Anonymized emergent fleet behaviour motifs (free read). Returns ordered behaviour motifs -- sequences of (regime, signal_key, action, outcome_sign) steps -- that many distinct agents exhibited and that map to NO existing strategy type in the standing taxonomy. Each carries n_agents, an anonymized aggregate effect_size with a confidence interval, and staleness. Filter with min_agents; limit caps the result count (max 100). No wallet address or cohort key is ever returned. Historical collective performance data aggregated across the Crank agent fleet -- descriptive only, never a recommendation or a promise of results. Workflow: INTELLIGENCE step -- see what the fleet is doing that no existing strategy type describes, before designing a new strategy.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnelcaller_id· string · optionnelmin_agents· integer · optionnel
Exemple d'appel{"name": "get_emerging_patterns", "arguments": {"limit": 1, "caller_id": "texte", "min_agents": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_health_factor≈ 205 tokens
Liquidation-risk monitor for a lending position. Returns health_factor (>1 safe, <1 liquidatable), collateral value, debt value, liquidation threshold. protocol: kamino | marginfi.
Paramètres, retour & exemple (5)
Paramètresmarket· ? · optionnelprotocol· string · requiscaller_id· string · optionnelwallet_address· string · requismarginfi_account· ? · optionnel
Exemple d'appel{"name": "get_health_factor", "arguments": {"protocol": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_ilo_adoption_status≈ 342 tokens
The ILO adoption gate -- one machine-checkable readiness read (free). Published Engaij, Inc. policy: 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. A launch prerequisite (one required condition alongside legal sign-off and the other launch prerequisites); not a launch date, promise, or timeline.
Paramètres, retour & exemple (2)
Paramètrescluster· string · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "get_ilo_adoption_status", "arguments": {"cluster": "texte", "caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_ilo_details≈ 332 tokens
Read a token launch live from chain (free): terms, status, escrow balances, and a machine-readable liquidity release schedule. ``launch_id`` is the on-chain u64 launch identifier. Returns the raise window and progress, the per-wallet pledge cap (0 = uncapped), live escrow + launch-vault balances, and a ``release_schedule`` block (cliff-then-linear) an agent can plan future claim_ilo_tokens calls from without parsing prose. Pass ``caller_wallet`` to attach that wallet's own pledge summary too (the authoritative per-wallet view is get_my_pledge_status). Utility token fair launch: participating commits funds to a non-custodial escrow; it is not a purchase of an expectation of profit. Workflow: DISCOVER step -- read details, check the window and the per-wallet cap, then preview with pledge_to_ilo (plan mode) before committing anything.
Paramètres, retour & exemple (3)
Paramètrescaller_id· string · optionnellaunch_id· integer · requiscaller_wallet· string · optionnel
Exemple d'appel{"name": "get_ilo_details", "arguments": {"launch_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_indicators≈ 450 tokens
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.
Paramètres, retour & exemple (7)
Paramètresasset· string · requisparams· ? · optionnellookback· integer · optionnelcaller_id· string · optionneltimeframe· string · optionnelindicators· ? · optionnelinclude_series· boolean · optionnel
Exemple d'appel{"name": "get_indicators", "arguments": {"asset": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_integrator_earnings≈ 178 tokens
Per-action + per-month integrator $CRANK reward rows. Read-only. Monthly rollup of earning_events + amount_base_units; recent rows carry crank_amount (null while unpriced). $CRANK only, no USD reward figure.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnelcaller_id· string · optionnelintegrator_wallet_address· string · requis
Exemple d'appel{"name": "get_integrator_earnings", "arguments": {"integrator_wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_integrator_stats≈ 190 tokens
Integrator dashboard: status, share, onboarded count, $CRANK reward state. Read-only. Rewards are $CRANK only: reward_asset, pre_mint and $CRANK buckets (accrued/pending/claimable/paid, each count/priced_count/ amount_base_units). No USD reward figure, never PnL -- a fee-share, never a performance-share.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelintegrator_wallet_address· string · requis
Exemple d'appel{"name": "get_integrator_stats", "arguments": {"integrator_wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_intent_status≈ 214 tokens
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).
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelintent_id· string · requis
Exemple d'appel{"name": "get_intent_status", "arguments": {"intent_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_journal_card≈ 422 tokens
Build the shareable journal card for one of YOUR decisions (free read). Every trading claim online is an unverifiable screenshot. This one is not: the card carries what you decided, the process you followed, what the record shows happened, and a public explorer link to the on-chain transaction so anyone can check it without a Crank account. It also carries a schema.org JSON-LD node so the public card page is citable by answer engines. The card is a CRAFT record -- decision type, whether an expectation was stated up front, which outcome horizons were recorded, whether the stated expectation and the record line up, how confidently the record attributes to on-chain fills. It deliberately carries no amounts and no percentages: it is a record of process, not a claim about results. ``include_rationale`` (default false) opts your own journal rationale and intended action into the public card. Your journal body is private to your wallet, so publishing any of it is always an explicit act. Workflow: after journal_append / journal_query -- pick a decision you want to show, then share_journal_card to get the pre-filled post.
Paramètres, retour & exemple (4)
Paramètrescaller_id· string · optionneldecision_id· string · requiswallet_address· string · requisinclude_rationale· boolean · optionnel
Exemple d'appel{"name": "get_journal_card", "arguments": {"decision_id": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_leaderboard≈ 254 tokens
Top published strategies ranked by a verified backtest metric (free). Crypto-only -- equity templates excluded. 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). detail="concise" (default) trims each entry the same way as discover_strategies (template_id is the ID to chain into clone_strategy); "full" returns every field.
Paramètres, retour & exemple (5)
Paramètressort· string · optionnellimit· integer · optionneldetail· string · optionnelcaller_id· string · optionnelstrategy_type· string · optionnel
Exemple d'appel{"name": "get_leaderboard", "arguments": {"sort": "texte", "limit": 1, "detail": "texte", "caller_id": "texte", "strategy_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_lending_rates≈ 215 tokens
Compare supply/borrow rates across Kamino + Marginfi. Each row: protocol, token mint, symbol, supply/borrow APY %, TVL USD, utilization. detail="concise" (default) drops tvl_usd/utilization (token is the ID to chain into lend_deposit); "full" returns every field. 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.
Paramètres, retour & exemple (2)
Paramètresdetail· string · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "get_lending_rates", "arguments": {"detail": "texte", "caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_lst_yields≈ 169 tokens
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.
Paramètres, retour & exemple (1)
Paramètrescaller_id· string · optionnel
Exemple d'appel{"name": "get_lst_yields", "arguments": {"caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_market_briefing≈ 568 tokens
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 synthesis by a larger model, 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. ``detail`` (payload shape -- NOT the pricing tier, that's ``detail_level`` above): "concise" (default) drops the long ``content`` body + ``model_used``/``source_count``, keeping the summary, sentiment regime, Fear & Greed reading, covered assets, and ``strategy_connections`` (IDs for chaining into a strategy tool) plus the ``billing`` outcome; "full" returns every field exactly as before, including ``content``. Workflow: INTELLIGENCE step (usually first) -- macro/sentiment context that frames detect_regime + the allocation. See get_trading_workflow.
Paramètres, retour & exemple (7)
Paramètresassets· ? · optionneldetail· string · optionnelcaller_id· string · optionneltimeframe· string · optionneldetail_level· string · optionnelpayment_header· string · optionnelwallet_address· string · optionnel
Exemple d'appel{"name": "get_market_briefing", "arguments": {"assets": "texte", "detail": "texte", "caller_id": "texte", "timeframe": "texte", "detail_level": "texte", "payment_header": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_market_regime≈ 234 tokens
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.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnelcaller_id· string · optionnelwindow_hours· integer · optionnel
Exemple d'appel{"name": "get_market_regime", "arguments": {"limit": 1, "caller_id": "texte", "window_hours": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_ml_signal≈ 390 tokens
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.
Paramètres, retour & exemple (7)
Paramètresasset· string · requishorizon· integer · optionnelcaller_id· string · optionneltimeframe· string · optionnelbuy_threshold· number · optionnelsell_threshold· number · optionnellookback_candles· integer · optionnel
Exemple d'appel{"name": "get_ml_signal", "arguments": {"asset": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_my_contribution_score≈ 340 tokens
Your own hive contribution score for a monthly epoch (free read). Wallet-scoped -- returns ONLY your wallet's own row, never another wallet's score and never a fleet ranking. ``epoch`` is "YYYY-MM" and defaults to the most recently completed month. Contribution quality reflects how much your journaled decisions genuinely improved the Hive: accurate, verifiable, original contributions score well; copies and noise do not. ``flags`` explains a zero score, e.g. below the activation threshold or no on-chain-verified outcome. Any recognition of contribution quality from the Community Rewards Pool is discretionary, retroactive and effort-gated -- never a yield, a return, an earn-rate, or a promise of a future allocation. Workflow: REVIEW step -- read alongside get_my_performance to see how your journalling habits, not just your P&L, land with the network.
Paramètres, retour & exemple (3)
Paramètresepoch· string · optionnelcaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_my_contribution_score", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_my_performance≈ 272 tokens
Your own realised performance, grouped (free read). Aggregates your journaled non-paper outcomes: win rate, total/average realised P&L (USD), and technology-service-fee drag, grouped by strategy_type | asset | decision_type | hour_of_day over window_hours. Includes a calibration score (your stated expectations vs the realised 24h move) when you journal expectations. Historical performance data about your own decisions -- descriptive only, not a recommendation. Workflow: ORIENT step -- read this before sizing or creating strategies.
Paramètres, retour & exemple (4)
Paramètresgroup_by· string · optionnelcaller_id· string · optionnelwindow_hours· integer · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_my_performance", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_my_pledge_status≈ 248 tokens
Read your own on-chain Pledge record for a launch (free). Returns how much this wallet has pledged, its share of the raise, its remaining headroom under the per-wallet cap, the projected pro-rata allocation, how much the liquidity release schedule has unlocked vs already released, and whether an on-chain refund is available (refunds open only if the raise FAILS its minimum). Workflow: MONITOR step -- poll this between the cliff and full release to decide when a claim_ilo_tokens call is worth making.
Paramètres, retour & exemple (3)
Paramètrescaller_id· string · optionnellaunch_id· integer · requiswallet_address· string · requis
Exemple d'appel{"name": "get_my_pledge_status", "arguments": {"launch_id": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_ooda_status≈ 281 tokens
Wake-on-condition consent + usage status. Returns opted_in, daily_wake_budget, wakes_used_today, skips_today, and recent_wakes -- including SKIPPED_BUDGET / SKIPPED_SPEND_CAP rows, so a skipped wake is exactly as visible as a completed one, never silent. Also returns the usage-vs-fee-revenue kill threshold config and state: kill_threshold_enabled, kill_threshold_ratio, kill_window_days, and -- if this wallet was auto-killed -- kill_switched_at and kill_reason, so a wallet can see why wakes stopped. Workflow: status/observe step -- check this to see whether the background worker is watching, and what it did (or skipped) recently.
Paramètres, retour & exemple (3)
Paramètrescaller_id· string · optionnelrecent_limit· integer · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_ooda_status", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_portfolio_charter≈ 284 tokens
Read the wallet's active portfolio charter -- the CRANK.md-equivalent mandate (free read). A user-authored document declaring objectives, risk_band, banned tokens, target_allocations, max_position_pct, rebalance cadence, and an escalation webhook -- loaded once per session so the mandate persists across every downstream call instead of being re-supplied ad hoc. has_charter is False when the wallet has not set one yet -- call set_portfolio_charter to create it. Descriptive framing only ("objectives"/"parameters", never return targets, hard rules 5-8). Workflow: ORIENT step 0 -- read this FIRST, before get_balances / portfolio_snapshot, so every downstream decision is framed by it.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_portfolio_charter", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_quests≈ 191 tokens
Live Crank Score quests + a wallet's progress (FREE read). Time-bounded, admin-configured campaigns (e.g. "Trade $1000 this week = 500 pts"). Each quest carries its tracked costly metric, target_value, reward_points, the active window, and -- when ``wallet_address`` is given -- the wallet's progress_value + completion state. Carries the ``disclaimer``.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · optionnel
Exemple d'appel{"name": "get_quests", "arguments": {"caller_id": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_quotes≈ 480 tokens
Read-only Jupiter quote for a token pair (no execution). amount is in base units of input_token. Returns routes, price impact, fees, and estimated output. ``venue_hint`` is ADVISORY, never required -- see jupiter_swap. Pass ``wallet_address`` (optional) to preview the DISCOUNTED technology service fee that wallet will actually pay -- its volume tier plus $CRANK staker / ``pay_in_crank`` / Crank Score discounts. Omit it for the base rate. This stays a free read either way. slippage_bps omitted (None) resolves to the published platform default of 50 bps -- unchanged from before; the returned envelope's slippage.applied_source honestly reports "platform_default" in that case rather than falsely claiming "caller". include_slippage_advisory (default False) adds the venue's own suggested tolerance for this route to the slippage block (suggested_bps / suggestion / advisory_status). Opt-in because it costs one extra venue round trip (~400 ms measured); requires wallet_address. Advisory only -- applied_bps is always exactly what executes.
Paramètres, retour & exemple (9)
Paramètresamount· integer · requiscaller_id· string · optionnelvenue_hint· ? · optionnelinput_token· string · requisoutput_token· string · requispay_in_crank· boolean · optionnelslippage_bps· ? · optionnelwallet_address· string · optionnelinclude_slippage_advisory· boolean · optionnel
Exemple d'appel{"name": "get_quotes", "arguments": {"amount": 1, "input_token": "texte", "output_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_rate_limits≈ 206 tokens
The published rate-limit tiers and enforcement contract (FREE read). Limits bind to resolved identity -- the verified pairing token on plugin-v1/agent-v1, the client IP on anonymous surfaces -- so rotating caller_id never resets a bucket. Value-bearing tools additionally consume a separate lower bucket. Exhausted callers get a RATE_LIMITED error envelope with retry_after_seconds; plugin-v1/agent-v1 tools/call also answers HTTP 429 with a Retry-After header.
Paramètres, retour & exemple (1)
Paramètrescaller_id· string · optionnel
Exemple d'appel{"name": "get_rate_limits", "arguments": {"caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_regulatory_updates≈ 362 tokens
Recent regulatory statements affecting Crank's scope (free read). Returns SEC / CFTC / FinCEN press releases and rule proposals from a scheduled daily scan, LLM-classified for relevance to Crank: DeFi, crypto perps, tokenized equities, autonomous agent trading, and non-custodial custody. Each update carries the issuing ``agency``, title, url, ``relevance`` (high/medium/low) + score, matched ``topics``, and a one-line factual ``summary``; results are ranked by relevance then recency. window_hours bounds the lookback (default 168 = 7 days, capped at 720 = 30 days); min_relevance filters by floor (high/medium/low); agency optionally narrows to one body (SEC, CFTC, FinCEN). Relevance is a compliance-triage signal, not legal advice. Not financial advice. Workflow: INTELLIGENCE / COMPLIANCE step -- check the current regulatory posture around perps, tokenized equities, or agent trading before acting on a strategy.
Paramètres, retour & exemple (4)
Paramètresagency· string · optionnelcaller_id· string · optionnelwindow_hours· integer · optionnelmin_relevance· string · optionnel
Exemple d'appel{"name": "get_regulatory_updates", "arguments": {"agency": "texte", "caller_id": "texte", "window_hours": 1, "min_relevance": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_risk_assessment≈ 409 tokens
Combined regime + risk-guard calculation for a strategy on an asset (read-only). Folds the detected market regime together with the safe-default risk guards (position / exposure / single-loss / drawdown / daily-loss limits) into one deterministic output: a rules-based direction, a conviction-weighted position size already capped to the position guard (in both percent-of-equity and USD notional against ``equity``), a per-regime action note, and the full guard set. strategy_type is one of the 16 Crank strategy types; asset is a token mint; timeframe one of 1m/5m/15m/1h/4h/1d. A mechanical, non-personalised calculation you choose whether to act on (DYOR) -- not financial advice, not a recommendation, and not a managed account. No wallet, no fee. Workflow: RISK step -- after backtest_strategy, before execution. The returned suggested_size_usd caps the order in the execute phase; do NOT exceed it. Check asset_classification first (equity -> per-execution confirm). See get_trading_workflow.
Paramètres, retour & exemple (6)
Paramètresasset· string · requisequity· number · optionnelcaller_id· string · optionneltimeframe· string · optionnelstrategy_type· string · requislookback_candles· integer · optionnel
Exemple d'appel{"name": "get_risk_assessment", "arguments": {"asset": "texte", "strategy_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_score≈ 250 tokens
User-facing Crank Score: rank, multiplier, metrics + quests (FREE). The campaign-layer view on top of ``get_crank_score``. Returns total_score, leaderboard rank + percentile, the applied multiplier_bps (streak / early-adopter / strategy-creator), the wallet's costly-action ``metrics`` (fee_volume_usd, strategies_published, clones_spawned, referrals_activated, active_days), and its live ``quests`` with progress. Points come ONLY from costly actions (anti-farm). ``disclaimer``: score MAY inform a future token distribution -- no fixed conversion ratio, no entitlement.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_score", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_score_leaderboard≈ 209 tokens
Top-N Crank Score leaderboard (FREE read). Ranked descending by total_score. ``limit`` caps at the admin-configured leaderboard_size. Each entry: rank, wallet_address, total_score, the base/action/quest components, multiplier_bps, streak_days, percentile. Also returns total_participants and the pre-token ``disclaimer``. (Distinct from ``get_leaderboard``, which ranks strategy templates.)
Paramètres, retour & exemple (2)
Paramètreslimit· ? · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "get_score_leaderboard", "arguments": {"limit": "texte", "caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_signal_effectiveness≈ 294 tokens
Fleet action-conditioned signal effectiveness (free read). Filters: source_type (e.g. youtube/rss/api/on_chain), signal_type, window (24h|7d|30d|90d|all). Returns, per matching signal_effectiveness collective insight, the fleet action taken, effect_size, confidence interval, contributing-agent count n, crowding_index, and staleness. Historical collective performance data aggregated across the fleet -- descriptive only, never a recommendation or a promise of results. Workflow: INTELLIGENCE step -- weigh a signal by how the FLEET's actions on it have historically resolved, alongside your own get_source_accuracy / get_my_performance track record.
Paramètres, retour & exemple (4)
Paramètreswindow· string · optionnelcaller_id· string · optionnelsignal_type· string · optionnelsource_type· string · optionnel
Exemple d'appel{"name": "get_signal_effectiveness", "arguments": {"window": "texte", "caller_id": "texte", "signal_type": "texte", "source_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_signals≈ 367 tokens
Filtered, most-recent-first feed of structured market signals (free read). The observed-signal data spine: squeeze / flow / technical / microstructure / behavioral / liquidity / safety / whale / regime / macro / oracle / event / composite signals persisted by the collectors. ``subject`` matches a token symbol/market or its stable ref (mint / market address); ``signal_type`` / ``tier`` (a|b|c) / ``risk_level`` (none..critical) / ``min_score`` narrow the feed. Unknown filter values are dropped, not errored. Descriptive observed data only -- never a trade instruction. Not financial advice. Workflow: INTELLIGENCE step -- pair with get_market_briefing (macro) and get_token_risk_assessment (per-token safety roll-up) before sizing.
Paramètres, retour & exemple (8)
Paramètrestier· string · optionnellimit· integer · optionnelsubject· string · optionnelcaller_id· string · optionnelmin_score· ? · optionnelrisk_level· string · optionnelsignal_type· string · optionnelinclude_expired· boolean · optionnel
Exemple d'appel{"name": "get_signals", "arguments": {"tier": "texte", "limit": 1, "subject": "texte", "caller_id": "texte", "min_score": "texte", "risk_level": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_social_sends≈ 123 tokens
A wallet's social token sends (newest first; no claim-code secrets).
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_social_sends", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_source_accuracy≈ 376 tokens
Historical directional hit-rate of each intelligence source (free read). Returns per-source accuracy stats for the intelligence signal sources (Coin Bureau / YouTube, RSS, Fear & Greed API, on-chain), so an agent can weight a source's calls by how often its bullish/bearish reads have played out. Each source carries a ``windows`` map over rolling 7d/30d/90d periods, each with total resolved calls, correct/incorrect counts, and accuracy_pct; sources with no resolved calls yet are omitted, and results are ranked by longest-window accuracy. windows optionally narrows the periods (subset of [7,30,90]); source_type optionally filters by source kind (youtube, rss, api, on_chain). Accuracy = the directional call vs the realised Birdeye price over the prediction window. Past accuracy is not a guarantee. Not financial advice. Workflow: INTELLIGENCE step -- pair with get_market_briefing to discount or trust a signal by its source's track record before sizing a position.
Paramètres, retour & exemple (3)
Paramètreswindows· ? · optionnelcaller_id· string · optionnelsource_type· string · optionnel
Exemple d'appel{"name": "get_source_accuracy", "arguments": {"windows": "texte", "caller_id": "texte", "source_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_source_weights≈ 247 tokens
Source-effectiveness weight table (free read). Per (source, signal_type, regime): graded evaluation counts, the smoothed effectiveness weight (social sources hold a low prior until sufficiently graded -- the anti-gaming cold start), the fleet Layer-2 multiplier from released anonymized fleet insights, and the combined weighted value the composite effectiveness_weighted transform consumes. Historical grading statistics only -- descriptive, never advice. Not financial advice. Workflow: COMPOSE step -- read alongside list_signal_catalog to pick streams with a real graded track record before authoring a definition.
Paramètres, retour & exemple (1)
Paramètrescaller_id· string · optionnel
Exemple d'appel{"name": "get_source_weights", "arguments": {"caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_strategy_evolution_report≈ 313 tokens
Clone-marketplace live performance deltas + approvals (free read). Per published template: its live clone-fleet performance payload (average profit and loss in bps across distinct cloning wallets over the trailing 30 days, anonymized, self-clones excluded), the change vs the previous refresh, and the approval trail for templates that came through the propose-and-approve governance path. A template without enough live clone history reports available=false with a reason -- never a number computed from too few wallets. Draft proposals are never included. Historical data only -- descriptive, never a recommendation or a promise of results. Workflow: INTELLIGENCE step -- compare marketplace templates on OBSERVED live clone history before cloning one via clone_strategy.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnelcaller_id· string · optionnelstrategy_type· string · optionnel
Exemple d'appel{"name": "get_strategy_evolution_report", "arguments": {"limit": 1, "caller_id": "texte", "strategy_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_strategy_leaderboard≈ 283 tokens
Anonymized fleet strategy-parameter leaderboard (free read). Ranks param_performance collective insights by effect_size within window (24h|7d|30d|90d|all). NEVER identifies a wallet or cohort -- rankings are anonymized param-bucket aggregates only, and any bucket without broad enough backing across the fleet is dropped before it ever reaches this response. Historical collective performance data -- descriptive only, never a recommendation or a promise of results. Workflow: INTELLIGENCE step -- compare a strategy_type's own parameter choices against fleet-wide observed outcomes before adjusting via suggest_parameter_adjustment / the strategy tools.
Paramètres, retour & exemple (3)
Paramètreswindow· string · optionnelcaller_id· string · optionnelstrategy_type· string · optionnel
Exemple d'appel{"name": "get_strategy_leaderboard", "arguments": {"window": "texte", "caller_id": "texte", "strategy_type": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_strategy_suggestions≈ 328 tokens
Signal-to-action suggestions from the synthesis engine (free read, G4). Per-asset directional observations aggregated hourly from the accuracy- weighted intelligence consensus (get_consensus math) plus the Fear & Greed context, each carrying a ready-to-use strategy config. PROPOSE flow: this tool never executes anything -- act on a suggestion by creating the strategy through the normal strategy tools (your wallet policy and the engine's risk / conflict / guardrail gates still apply), or approve it in the app. ``status`` filters proposed|approved|dismissed|executed|expired|all. Informational descriptions of observed data only. Not financial advice. Workflow: INTELLIGENCE -> DECIDE step -- review suggestions, then pair with backtest_strategy + get_risk_assessment before any create call.
Paramètres, retour & exemple (4)
Paramètresasset· string · optionnellimit· integer · optionnelstatus· string · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "get_strategy_suggestions", "arguments": {"asset": "texte", "limit": 1, "status": "texte", "caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_technology_updates≈ 417 tokens
Recent technology / tooling developments relevant to Crank + Engaij (free read). Returns items from a scheduled scan of technology feeds (Anthropic, OpenAI, Coinbase Developer, Solana Foundation, Hacker News filtered, GitHub trending) plus flagged YouTube tech channels (full transcript ingested), LLM-classified for relevance to both Crank (Solana trading infra + DeFi frontend) and Engaij (the parent automation platform). Each update carries ``category`` (sdk_release / api_change / competitor / regulatory / research / tooling), ``relevance_to_crank`` and ``relevance_to_engaij`` (high/medium/low/none), a concrete ``application_recommendation`` (what to do about it), title, url, and a one-line ``summary``; results are ranked by relevance then recency. window_hours bounds the lookback (default 168 = 7 days, capped at 720 = 30 days); min_relevance filters by floor (high/medium/low); category optionally narrows to one kind. A triage signal, not advice. Not financial advice. Workflow: INTELLIGENCE step -- scan for SDK / API releases, competitor moves, or tooling worth adopting before planning integration or strategy work.
Paramètres, retour & exemple (4)
Paramètrescategory· string · optionnelcaller_id· string · optionnelwindow_hours· integer · optionnelmin_relevance· string · optionnel
Exemple d'appel{"name": "get_technology_updates", "arguments": {"category": "texte", "caller_id": "texte", "window_hours": 1, "min_relevance": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_token_classification≈ 253 tokens
Standardised tokenized-stock classification for a mint or symbol. Read-only. Returns every classification dimension -- backing_status (fully/treasury backed, synthetic, unknown), liquidity_tier (tier_1/2/3 / illiquid, from Jupiter price impact), issuer_verified (Metaplex authority match), market_data_quality (live/stale/none) -- plus the derived composite risk (low/medium/high/blocked) and last_verified_at. FAIL-SAFE: a registered but unscored token, an inactive token, or an unregistered token reports tradeable=false. trade_equity enforces this same composite risk.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelmint_or_symbol· string · requis
Exemple d'appel{"name": "get_token_classification", "arguments": {"mint_or_symbol": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_token_risk_assessment≈ 278 tokens
Per-token risk roll-up over recently observed safety signals (free read). Folds every non-expired signal for ``subject`` (symbol or mint) in the window into the worst risk level seen, a 0..1 risk score, a per-level count breakdown, and the contributing signals (worst-first). Complements -- does not replace -- ``get_risk_assessment`` (regime + position-size guards for deploying a strategy). Descriptive observed data only. Not financial advice. Workflow: INTELLIGENCE / RISK step -- run before quoting or sizing an unfamiliar token; a critical safety signal is a hard skip condition.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnelsubject· string · requiscaller_id· string · optionnelwindow_hours· integer · optionnel
Exemple d'appel{"name": "get_token_risk_assessment", "arguments": {"subject": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_trading_limits≈ 216 tokens
Read the per-token trading caps (TradingLimit rows) on an agent wallet. Returns {wallet_address, trading_limits: [{token_address, max_position_size, max_single_trade, daily_volume_limit}], enforcement}. Caps are USD decimal strings; null = uncapped. ``enforcement`` states which execution rails actually read each column today -- a stored cap is not necessarily a binding one. Sibling of wallet_status for the WalletPolicy surface.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_trading_limits", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_trading_workflow≈ 378 tokens
Map of how Crank's tools fit into one end-to-end trading flow (read this first). Read-only, free. Returns an ordered, machine-readable workflow: orient -> intelligence -> yields -> simulate (backtest) -> risk-size -> execute (non-custodial) -> monitor -> journal. Each step names the concrete tool(s) to call, their purpose, key inputs, how to use the output downstream, and the decision points that branch the flow -- so an agent that discovered Crank via tools/list can sequence the full tool surface instead of guessing. Descriptive only (DYOR); only execute-phase tools are value-bearing. wallet_address (optional, PUBLIC key only -- non-custodial): when given, appends ``human_activity`` -- count + most-recent manual override on this shared account in the last 72h (decision_type, asset, rationale summary, timestamp) plus an instruction to reconcile with it before acting. Human and agents act on ONE account: every human action is journaled (see journal_query source="human") so it is never invisible to you. Absent/clean (``{"count": 0}``) when there is no override.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · optionnel
Exemple d'appel{"name": "get_trading_workflow", "arguments": {"caller_id": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_transaction_history≈ 206 tokens
Recent transactions for a wallet, parsed + human-readable (limit 1-100). detail="concise" (default) trims each row to signature/type/timestamp/ status (signature is the ID to chain into journal_append's tx_signature); "full" adds description, tokens_involved, token_mints, and amount.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionneldetail· string · optionnelcaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_transaction_history", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_usage_report≈ 168 tokens
An agent's own premium-feature spend report (FREE read). Returns per-feature {calls, spend_usd, cost_usd} plus totals from the FeatureUsage ledger. period: today | 7d | 30d | all (default 30d).
Paramètres, retour & exemple (3)
Paramètresperiod· string · optionnelcaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "get_usage_report", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_venue_health≈ 231 tokens
Live safety/health read for one trading venue (read-only, non-custodial). Returns operational status (live/degraded/suspended), last monitoring heartbeat, on-chain program deploy slot, SDK compatibility headline, TVL + perps 24h volume (DeFiLlama, cached 5 min). venue is a slug e.g. "drift", "jupiter", "pacifica". Use BEFORE routing capital to a venue. Workflow: RISK step (venue-safety gate) -- run before any perps/lending leg; degraded/down reroutes or blocks the order. See get_trading_workflow.
Paramètres, retour & exemple (2)
Paramètresvenue· string · requiscaller_id· string · optionnel
Exemple d'appel{"name": "get_venue_health", "arguments": {"venue": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_venue_risk_score≈ 193 tokens
Composite venue risk score 0-100 (higher = safer), with breakdown. Read-only. Folds custody tier (A self-custodial / B venue-custodied), multisig threshold, timelock, audit status, exploit history, TVL trend and program age into a transparent weighted score (score_breakdown returned so the number is auditable). Factual assessment, not financial advice.
Paramètres, retour & exemple (2)
Paramètresvenue· string · requiscaller_id· string · optionnel
Exemple d'appel{"name": "get_venue_risk_score", "arguments": {"venue": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_venue_status≈ 144 tokens
Health + capabilities of every perps venue, plus routing config. Reports primary/fallback venue, which venues are routable, per-venue health (operational/degraded/down/disabled), and capability flags incl custody tier.
Paramètres, retour & exemple (1)
Paramètrescaller_id· string · optionnel
Exemple d'appel{"name": "get_venue_status", "arguments": {"caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - intelligence_suggestion_approve≈ 496 tokens
Approve a StrategySuggestion, optionally creating the suggested Strategy. Closes the PROPOSE loop for MCP-only agents: wraps the same approve-and-create service logic as the REST ``StrategySuggestionViewSet.approve`` action instead of a manual ``suggested_config`` round-trip through the strategy create tools, which silently drops the suggestion linkage (``StrategySuggestion.created_strategy`` / hive DecisionRecord.suggestion FK provenance). ``wallet_address`` is the caller's own wallet (recorded as ``approved_by_wallet``); when ``agent_wallet_id`` also resolves to a wallet ``wallet_address`` controls, the suggested Strategy is created through the same executor dry-run gate as every other create path. ``config_overrides`` merges over ``suggested_config`` (e.g. a real ``usd_per_buy``). A wallet without a Turnkey signer still gets the strategy -- paper trade, unsigned tx per tick. Informational rationale only (rules 5-8); the created strategy still runs only through the existing engine gates. Workflow: DECIDE -> EXECUTE step -- the MCP-only closing move for get_strategy_suggestions; pair with backtest_strategy + get_risk_assessment first for the same guardrails any other create path gets.
Paramètres, retour & exemple (6)
Paramètrescaller_id· string · optionnelsuggestion_id· integer · requiswallet_address· string · requisagent_wallet_id· ? · optionnelconfig_overrides· ? · optionnelinterval_seconds· integer · optionnel
Exemple d'appel{"name": "intelligence_suggestion_approve", "arguments": {"suggestion_id": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - journal_append≈ 609 tokens
Record a decision in your private, wallet-scoped journal (free write). Your durable memory on Crank: rationale, intended action, and optional expectations (e.g. {"direction": "up", "horizon": "24h"}) are stored as one opaque body only you can read back; the system later attributes realised P&L from on-chain-verified fills and marks prices at 1h/24h/7d/30d horizons. idempotency_key makes replays safe (offline queues / batch agents). Link evidence via signal_ids / suggestion_id / strategy_id (your own strategies only). Autonomous strategy executions are journaled for you automatically -- use this to add the agent-authored layer on top. ``tx_signature`` (optional): pass the signature a swap/perp/lend/stake tool just returned to link this decision to its verified on-chain fill -- the proof the Layer 2 contribution firewall needs. Unknown signature for this wallet -> 404. If omitted, the wallet's most recent CONFIRMED transaction within a short window is auto-linked as a best-effort fallback -- explicit is still more reliable, pass it whenever you have it. Workflow: DECIDE step -- journal before (or as) you act; query it back with journal_query / get_my_performance.
Paramètres, retour & exemple (14)
Paramètresasset· string · optionnelcaller_id· string · optionnelrationale· string · requissession_id· string · optionnelsignal_ids· ? · optionnelstrategy_id· ? · optionnelexpectations· ? · optionneltx_signature· string · optionneldecision_type· string · requissuggestion_id· ? · optionnelwallet_address· string · requisclient_platform· string · optionnelidempotency_key· string · optionnelintended_action· string · optionnel
Exemple d'appel{"name": "journal_append", "arguments": {"rationale": "texte", "decision_type": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - journal_query≈ 408 tokens
Read your own decision journal, most recent first (free read). Wallet-scoped: only decisions journaled for wallet_address are ever returned. Filters: window_hours (0 = all), decision_type, strategy_type, asset (mint/symbol as journaled), outcome_sign (positive|negative|zero on realised P&L), source (agent|system|human -- pass source="human" to see only a manual override on this shared account: human and agents act on ONE account, and every human action is journaled so agents can see and reconcile with it). Every returned row carries its source. detail=concise returns id/type/timestamp/pnl rows (token-budget friendly); detail=full adds bodies, evidence refs, and full outcome marks. Workflow: ORIENT step -- recall what you decided (and what a human may have overridden) before deciding again.
Paramètres, retour & exemple (10)
Paramètresasset· string · optionnellimit· integer · optionneldetail· string · optionnelsource· string · optionnelcaller_id· string · optionneloutcome_sign· string · optionnelwindow_hours· integer · optionneldecision_type· string · optionnelstrategy_type· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "journal_query", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - jupiter_swap≈ 1375 tokens
Execute a token swap via Jupiter (non-custodial). ``submit_mode`` (optional): your execution preference. Omitted/"public" = public-RPC broadcast (default, unchanged). "mev_protected" = the tx is built with a Jito tip you pay (``jito_tip_lamports``, default 10,000) and relayed to the Jito block engine as a bundle. Use the same mode on build and broadcast. A failed protected submit returns an error and is NOT sent publicly unless you set ``mev_fallback_public=true``. The response ``execution`` block names the mode and tip. Mainnet only. Never selected for you. Without signed_transaction: returns an UNSIGNED base64 transaction for your wallet to sign + broadcast. With signed_transaction: broadcasts the caller-signed tx and returns tx_signature. amount is in base units of input_token. Includes the Crank technology service fee when a referral fee account is configured -- collected ON-CHAIN via Jupiter's platformFeeBps, deducted from swap output. Swaps are NOT additionally gated by x402 (that would double-charge the same fee), so payment_header stays a no-op here (jupiter_swap is not in x402 PAID_TOOLS). pay_in_crank is NO LONGER a no-op: the on-chain rate is now derived from this wallet's volume tier and $CRANK staker / pay-in-$CRANK / Crank Score discounts, so a discounted wallet is quoted a lower platformFeeBps -- the same schedule x402 applies to perps/lend/stake. slippage_bps omitted (None) resolves to the published platform default of 50 bps -- unchanged from before; the returned envelope's slippage.applied_source honestly reports "platform_default" in that case rather than falsely claiming "caller". SECURITY: the output_token is run through multi-layer authenticity verification before any tx is built; an unverified/suspicious/fake token is blocked (UNVERIFIED_TOKEN). Set allow_unverified=true to trade an unverified token at your own risk (hard scam signals are never overridable). ``venue_hint`` is ADVISORY, never required -- spot routes via Jupiter aggregation (the only spot venue today); an unknown hint raises, omitting it is unchanged from before. Workflow: EXECUTE step -- deploy the directional/allocation leg after the risk phase capped the size. Non-custodial. Get a price first with get_quotes. See get_trading_workflow. ``idempotency_key`` (optional): a client-generated UUID. Retrying the SAME call (build or broadcast) with the same key + same args replays the original result instead of re-executing -- guards against a timeout-then-retry double-swap. Reuse the SAME key across the build call and its signed_transaction broadcast retry (they dedupe independently); a NEW key means a genuinely new swap. ``verify`` (default True): when broadcasting (signed_transaction supplied), await on-chain confirmation and re-read the output_token balance -- the response gains a ``verification`` block ({confirmed, slot, post_state, expected_vs_actual}). Gate follow-on decisions on ``verification.confirmed``, never on tx_signature alone. Set False to skip for latency-sensitive callers. Verify any prior signature later with the standalone ``verify_transaction`` tool. GEO GATE: when either leg is a tokenized security this call is geo-gated (Reg S = no US persons) and OFAC-screened, same control ``trade_equity`` enforces -- ``jurisdiction`` declares the caller's jurisdiction once (persisted for next time), ``ip`` is the caller's origin IP for the additional Reg-S IP layer. Non-security swaps are unaffected. ``simulate`` (optional): true = rehearse this call. The full gate stack (capability, kill switch, session signer, wallet policy, permission mode, soft launch, venue / compliance / token checks, fee quote) is evaluated read-only and returned as ``verdicts`` + ``would_execute``, with a paper fill where one applies. Nothing is built, signed, broadcast or charged. Omitted = your wallet's default_simulate setting; false = execute.
Paramètres, retour & exemple (19)
Paramètresip· string · optionnelamount· integer · requisverify· boolean · optionnelsimulate· ? · optionnelcaller_id· string · optionnelvenue_hint· ? · optionnelinput_token· string · requissubmit_mode· ? · optionneljurisdiction· ? · optionneloutput_token· string · requispay_in_crank· boolean · optionnelslippage_bps· ? · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelallow_unverified· boolean · optionneljito_tip_lamports· ? · optionnelsigned_transaction· ? · optionnelmev_fallback_public· boolean · optionnel
Exemple d'appel{"name": "jupiter_swap", "arguments": {"amount": 1, "input_token": "texte", "output_token": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - kill_wallet≈ 168 tokens
Emergency freeze an agent wallet. Sets status=killed so the policy gate refuses every subsequent value-bearing action. Returns confirmation + a frozen-positions count. (Turnkey scoped-key revocation is handled by the deferred provisioning ticket.)
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "kill_wallet", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - lend_borrow≈ 522 tokens
Borrow against deposited collateral (non-custodial). Returns an UNSIGNED base64 tx + current health factor (pre-borrow estimate). amount in base units of borrow_token. Deposit collateral first. Past the daily free tier an x402 payment_header is required. The borrowed token is authenticity-verified first; set allow_unverified=true to borrow an unverified token at your own risk. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-borrowing. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- see lend_deposit; the two legs dedupe independently, so this never raises IDEMPOTENCY_CONFLICT. ``signed_transaction`` / ``verify`` (two-phase execution): see lend_deposit -- re-call with the signed tx and Crank broadcasts it, confirms it on-chain, and re-reads the borrowed balance + obligation health.
Paramètres, retour & exemple (14)
Paramètresamount· integer · requismarket· ? · optionnelverify· boolean · optionnelprotocol· string · requiscaller_id· string · optionnelborrow_token· string · requispay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelallow_unverified· boolean · optionnelcollateral_token· string · requismarginfi_account· ? · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "lend_borrow", "arguments": {"amount": 1, "protocol": "texte", "borrow_token": "texte", "wallet_address": "texte", "collateral_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - lend_deposit≈ 904 tokens
Deposit assets to earn yield on Kamino or Marginfi (non-custodial). Returns an UNSIGNED base64 tx to sign + broadcast, plus supply APY. amount is in base units of token. protocol: kamino | marginfi -- pin one to keep exact prior behaviour. Marginfi needs marginfi_account (create via the sidecar). Past the daily free tier an x402 payment_header is required. The deposited token is authenticity-verified first; set allow_unverified=true to supply an unverified token at own risk. ``venue_hint`` / auto-route: pass ``protocol="auto"`` (or ``""``) -- optionally with ``venue_hint`` as an advisory alias, same naming as jupiter_swap/trade_equity -- to route through the SAME primary+fallback health-failover the earn/lending trade bridge already applies: an empty rate snapshot on the primary protocol fails over to the configured fallback. Extends this tool instead of adding a separate earn_quote/trade_earn surface, so lend_deposit is now the one first-class MCP path for both a pinned protocol and an auto-routed deposit. A router-resolved call also carries the smart-contract counterparty-risk disclosure in the response (``disclosures``), matching that bridge. Workflow: EXECUTE step (yield leg) -- supply idle stables/tokens after comparing get_lending_rates; monitor with get_health_factor. See get_trading_workflow. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-depositing. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- the two legs dedupe independently, so this never raises IDEMPOTENCY_CONFLICT; a NEW key means a genuinely new deposit. ``signed_transaction`` / ``verify`` (two-phase execution): re-call this tool with the SIGNED base64 tx and Crank broadcasts it, then awaits on-chain confirmation and re-reads BOTH the deposited token's balance and the obligation's health -- the response carries a real ``verification`` block ({confirmed, slot, post_state, expected_vs_actual}). Gate follow-on borrowing on ``verification.confirmed``, never on tx_signature alone. verify=false skips only the confirmation wait. When the build leg auto-routed (protocol="auto"), pass back the SAME resolved ``protocol`` the build response reported -- re-resolving from "auto"/ venue_hint again on the completion leg could pick a different venue if health changed between calls.
Paramètres, retour & exemple (14)
Paramètrestoken· string · requisamount· integer · requismarket· ? · optionnelverify· boolean · optionnelprotocol· string · requiscaller_id· string · optionnelvenue_hint· ? · optionnelpay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelallow_unverified· boolean · optionnelmarginfi_account· ? · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "lend_deposit", "arguments": {"token": "texte", "amount": 1, "protocol": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - lend_repay≈ 438 tokens
Repay borrowed amount (non-custodial). Returns an UNSIGNED base64 tx + current health factor. amount in base units of token. Past the daily free tier an x402 payment_header is required. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-repaying. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- see lend_deposit; the two legs dedupe independently, so this never raises IDEMPOTENCY_CONFLICT. ``signed_transaction`` / ``verify`` (two-phase execution): see lend_deposit -- re-call with the signed tx and Crank broadcasts it, confirms it on-chain, and re-reads the repaid balance + obligation health.
Paramètres, retour & exemple (12)
Paramètrestoken· string · requisamount· integer · requismarket· ? · optionnelverify· boolean · optionnelprotocol· string · requiscaller_id· string · optionnelpay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelmarginfi_account· ? · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "lend_repay", "arguments": {"token": "texte", "amount": 1, "protocol": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - leverage_close≈ 352 tokens
Unwind a tracked leveraged position: sell -> repay stable -> withdraw. Returns an ORDERED STEP PLAN. position_id from leverage_long. Past the daily free tier an x402 payment_header is required. ``jurisdiction``: closes are geo-gated too -- see short_open. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-unwinding the position.
Paramètres, retour & exemple (11)
Paramètresip· string · optionnelmarket· ? · optionnelcaller_id· string · optionnelposition_id· integer · requisjurisdiction· ? · optionnelpay_in_crank· boolean · optionnelslippage_bps· integer · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelmarginfi_account· ? · optionnel
Exemple d'appel{"name": "leverage_close", "arguments": {"position_id": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - leverage_long≈ 483 tokens
Open a lending-based leveraged long by looping deposit -> borrow stable -> buy more -> redeposit. Returns an ORDERED STEP PLAN of UNSIGNED base64 txs, effective leverage, loop count, health factor, and a position_id. amount in base units. The levered token is authenticity-verified first; set allow_unverified=true to lever an unverified mint at your own risk. Past the daily free tier an x402 payment_header is required. ``jurisdiction``: leverage is geo-gated too -- see short_open. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-opening the leveraged position.
Paramètres, retour & exemple (16)
Paramètresip· string · optionneltoken· string · requisamount· integer · requismarket· ? · optionnelprotocol· string · optionnelcaller_id· string · optionneljurisdiction· ? · optionnelpay_in_crank· boolean · optionnelslippage_bps· integer · optionnelstable_token· ? · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionneltarget_leverage· number · requisallow_unverified· boolean · optionnelmarginfi_account· ? · optionnel
Exemple d'appel{"name": "leverage_long", "arguments": {"token": "texte", "amount": 1, "wallet_address": "texte", "target_leverage": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - liquid_stake≈ 544 tokens
Stake SOL for a liquid-staking token (non-custodial). amount in lamports. protocol: marinade | jito | blaze. Returns an UNSIGNED base64 tx + the LST received + current APY. The technology service fee is charged on the staked-SOL notional past the daily free tier (x402 payment_header; set pay_in_crank for the $CRANK discount). Workflow: EXECUTE step (yield leg) -- stake the idle slice after comparing get_lst_yields. Non-custodial. Monitor via portfolio_snapshot. See get_trading_workflow. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-staking. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- the two legs dedupe independently, so this never raises IDEMPOTENCY_CONFLICT; a NEW key means a genuinely new stake. ``signed_transaction`` / ``verify`` (two-phase execution): re-call this tool with the SIGNED base64 tx and Crank broadcasts it, then awaits on-chain confirmation and re-reads the LST + SOL balances -- the response carries a real ``verification`` block ({confirmed, slot, post_state, expected_vs_actual}). Gate follow-on decisions on ``verification.confirmed``, never on tx_signature alone. verify=false skips only the confirmation wait.
Paramètres, retour & exemple (10)
Paramètresamount· integer · requisverify· boolean · optionnelprotocol· string · requiscaller_id· string · optionnelpay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelallow_unverified· boolean · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "liquid_stake", "arguments": {"amount": 1, "protocol": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_alerts≈ 282 tokens
List a wallet's alerts -- what is currently armed. Free read. Covers both price/position alerts (set_alert) and health-factor liquidation alerts (set_liquidation_alert) -- one table, told apart by alert_type. Default shows only ARMED alerts (active, not yet triggered) -- exactly the set the Celery evaluators will act on. include_triggered=True adds already- tripped and deactivated alerts (recent history). limit caps at 200. Workflow: MONITOR step -- read before arming another alert so you do not duplicate a level that is already watched. Pairs with set_alert. See get_trading_workflow.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnelcaller_id· string · optionnelwallet_address· string · requisinclude_triggered· boolean · optionnel
Exemple d'appel{"name": "list_alerts", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_session_signers≈ 124 tokens
List all delegated session signers (active + revoked) for a wallet.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "list_session_signers", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_signal_catalog≈ 284 tokens
Catalog of every available signal stream (free read). One entry per signal source across all tiers -- on-chain collectors, free API sources, derived analyzers and external provider adapters -- with tier, cost-gate state (paid Tier-D gates are fail-closed and disabled by default), coverage window (earliest/latest persisted signal -- the honest backtest window), effectiveness stats (graded evaluation count + correct rate) and a gameability class (social streams rank high -- they carry anti-gaming caps). Descriptive historical data only. Not financial advice. Workflow: COMPOSE step -- enumerate streams before authoring a composite strategy definition; pair with get_signals to inspect a stream's feed.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelinclude_inactive· boolean · optionnel
Exemple d'appel{"name": "list_signal_catalog", "arguments": {"caller_id": "texte", "include_inactive": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_webhooks≈ 125 tokens
List a wallet's webhook subscriptions (free read; secrets are never returned).
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "list_webhooks", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - lst_swap≈ 461 tokens
Swap between two LSTs via the Sanctum router (non-custodial). from_lst/to_lst are mints; amount in base units. Returns an UNSIGNED base64 tx + output amount. The technology service fee is charged on the input-LST notional past the daily free tier (x402 payment_header). The acquired LST (to_lst) is authenticity-verified first; set allow_unverified=true to swap into an unverified LST at your own risk. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-swapping. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- see liquid_stake; the two legs dedupe independently, so this never raises IDEMPOTENCY_CONFLICT. ``signed_transaction`` / ``verify`` (two-phase execution): see liquid_stake -- re-call with the signed tx and Crank broadcasts it, confirms it on-chain, and re-reads both LST balances.
Paramètres, retour & exemple (11)
Paramètresamount· integer · requisto_lst· string · requisverify· boolean · optionnelfrom_lst· string · requiscaller_id· string · optionnelpay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelallow_unverified· boolean · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "lst_swap", "arguments": {"amount": 1, "to_lst": "texte", "from_lst": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - pause_wallet≈ 185 tokens
Owner pause of an agent wallet (reversible). Sets status=suspended and pauses its active strategies, so the policy gate refuses every value-bearing action until resume_wallet. Same semantics as the web Agent console pause. Refused on a killed or already-paused wallet.
Paramètres, retour & exemple (3)
Paramètresreason· string · optionnelcaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "pause_wallet", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_close≈ 423 tokens
Close a perp position, full or partial (non-custodial). close_pct in (0, 100]. Returns an UNSIGNED base64 tx to sign + broadcast, plus exit price + realized P&L estimate (incl funding). Past the daily free tier an x402 payment_header is required. ``jurisdiction``: closes are geo-gated too -- see perp_open_long. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-closing the position. ``signed_transaction`` / ``verify`` (two-phase execution): see perp_open_long -- re-call with the signed tx and Crank broadcasts it, confirms it on-chain, and re-reads the position.
Paramètres, retour & exemple (12)
Paramètresip· string · optionnelmarket· string · requisverify· boolean · optionnelcaller_id· string · optionnelclose_pct· number · optionnelposition_id· ? · optionneljurisdiction· ? · optionnelpay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "perp_close", "arguments": {"market": "texte", "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_funding_rates≈ 148 tokens
Current funding for a perp market (rate, period, last funding timestamp). market e.g. SOL-PERP. period is informational (1h/8h/24h).
Paramètres, retour & exemple (3)
Paramètresmarket· string · requisperiod· string · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "perp_funding_rates", "arguments": {"market": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_funding_rates_all≈ 146 tokens
Normalized funding/borrow rates across venues (venue=None aggregates).
Paramètres, retour & exemple (3)
Paramètresvenue· ? · optionnelmarket· ? · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "perp_funding_rates_all", "arguments": {"venue": "texte", "market": "texte", "caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_markets≈ 142 tokens
Available perp markets with price, open interest, funding, max leverage. Legacy alias: while Drift is flagged off this returns the primary venue's markets (Jupiter Perps: SOL, ETH, BTC). Prefer perp_markets_all.
Paramètres, retour & exemple (1)
Paramètrescaller_id· string · optionnel
Exemple d'appel{"name": "perp_markets", "arguments": {"caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_markets_all≈ 190 tokens
Perp markets across venues (venue=None aggregates all routable venues). detail="concise" (default) trims each market to symbol/venue/price/ max_leverage (symbol is the ID to chain into place_perp_order); "full" adds base/quote/custody_tier/min_size/open_interest_usd.
Paramètres, retour & exemple (3)
Paramètresvenue· ? · optionneldetail· string · optionnelcaller_id· string · optionnel
Exemple d'appel{"name": "perp_markets_all", "arguments": {"venue": "texte", "detail": "texte", "caller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_modify≈ 416 tokens
Modify an existing open Drift ORDER by order_id (non-custodial). Adjusts trigger price (TP/SL). new_leverage / add_collateral require a separate collateral deposit/withdraw and are recorded for tracking. Returns an UNSIGNED base64 tx to sign + broadcast. Past the daily free tier an x402 payment_header is required. ``jurisdiction``: modify (changes leverage/ exposure) is geo-gated too -- see perp_open_long. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-modifying the order.
Paramètres, retour & exemple (12)
Paramètresip· string · optionnelnew_sl· ? · optionnelnew_tp· ? · optionnelorder_id· integer · requiscaller_id· string · optionneljurisdiction· ? · optionnelnew_leverage· ? · optionnelpay_in_crank· boolean · optionneladd_collateral· ? · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnel
Exemple d'appel{"name": "perp_modify", "arguments": {"order_id": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_open_long≈ 726 tokens
Open a leveraged LONG perp position on Drift (non-custodial). Returns an UNSIGNED base64 transaction for your wallet to sign + broadcast, plus entry/liquidation/margin estimates. market e.g. SOL-PERP. size_usd is notional USD; leverage up to the market max. TP/SL are informational in the build — place them as trigger orders after the position opens. The fee is charged on size_usd notional past the daily free tier (x402 payment_header). ``jurisdiction``: your ISO-3166-1 alpha-2 country code, self-declared -- perps are geo-gated (CFTC posture: no US persons, unknown jurisdiction DENIED). Pass it once here (or via ``declare_jurisdiction``/``trade_equity``) and it is remembered for 90 days; every perps/short/leverage call is denied until declared. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-opening the position. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- the two legs dedupe independently (the completion leg is namespaced under its own storage key, matching jupiter_swap's build/broadcast pattern), so this never raises IDEMPOTENCY_CONFLICT; a NEW key means a genuinely new order. ``signed_transaction`` / ``verify`` (two-phase execution): re-call this tool with the SIGNED base64 tx and Crank broadcasts it, then awaits on-chain confirmation and re-reads the perp position -- the response carries a real ``verification`` block ({confirmed, slot, post_state, expected_vs_actual}). Gate follow-on decisions on ``verification.confirmed``, never on tx_signature alone. verify=false skips only the confirmation wait.
Paramètres, retour & exemple (15)
Paramètresip· string · optionnelmarket· string · requisverify· boolean · optionnelleverage· number · requissize_usd· number · requiscaller_id· string · optionneljurisdiction· ? · optionnelpay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelstop_loss_price· ? · optionnelallow_unverified· boolean · optionneltake_profit_price· ? · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "perp_open_long", "arguments": {"market": "texte", "leverage": 1, "size_usd": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_open_short≈ 366 tokens
Open a leveraged SHORT perp position on Drift (non-custodial). Same envelope as perp_open_long, opposite direction. ``jurisdiction``, ``idempotency_key`` (optional) and ``signed_transaction``/``verify`` (two-phase execution): see perp_open_long.
Paramètres, retour & exemple (15)
Paramètresip· string · optionnelmarket· string · requisverify· boolean · optionnelleverage· number · requissize_usd· number · requiscaller_id· string · optionneljurisdiction· ? · optionnelpay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelstop_loss_price· ? · optionnelallow_unverified· boolean · optionneltake_profit_price· ? · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "perp_open_short", "arguments": {"market": "texte", "leverage": 1, "size_usd": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_positions≈ 143 tokens
List open perp positions for a wallet with live P&L. Each: market, side, size, entry/mark price, unrealized P&L (incl funding), liquidation price.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "perp_positions", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - perp_positions_all≈ 264 tokens
Open perp positions for a wallet. venue=None aggregates across venues. Each position carries its venue + custody_tier. detail="concise" (default) trims each position to position_id/market/side/size/unrealized_pnl/venue (position_id is the ID to chain into close_perp_position) plus tpsl_triggers -- the TP/SL triggers resting on the position, each with the request_id set_perp_tpsl takes to amend or cancel it; "full" adds entry_price/current_price/leverage/liquidation_price/custody_tier.
Paramètres, retour & exemple (4)
Paramètresvenue· ? · optionneldetail· string · optionnelcaller_id· string · optionnelwallet_address· string · requis
Exemple d'appel{"name": "perp_positions_all", "arguments": {"wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - place_perp_order≈ 1284 tokens
Open a leveraged perp position on the best/selected venue (non-custodial). side is "long" | "short". market e.g. SOL-PERP; size_usd is notional USD. venue optional -- defaults to the configured primary (Jupiter Perps), with health failover to the fallback for new orders. Returns an UNSIGNED tx (Tier A) or a signing payload (Tier B) for your wallet to sign + broadcast, plus venue_name / custody_tier / settlement_token. Tier B (venue-custodied) venues require acknowledge_tier_b=true after reviewing custody_disclosure. Fee charged on size_usd notional past the daily free tier (x402). ``jurisdiction``: your ISO-3166-1 alpha-2 country code, self-declared -- perps are geo-gated (no US persons, unknown jurisdiction DENIED). Declare once here (or via ``declare_jurisdiction``/``trade_equity``) and it is remembered 90 days. Workflow: EXECUTE step (leveraged directional leg) -- after get_venue_health / get_venue_risk_score clear the venue and get_risk_assessment caps the size. Monitor via perp_positions. See get_trading_workflow. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of re-opening the order. Reuse the SAME key across the build call and its ``signed_transaction`` completion call -- the two legs dedupe independently, so this never raises IDEMPOTENCY_CONFLICT; a NEW key means a genuinely new order. ``signed_transaction`` / ``verify`` (two-phase execution): re-call this tool with the SIGNED payload and Crank relays it by custody tier -- Tier A to Solana RPC, then awaits on-chain confirmation and re-reads the position on the executing venue; Tier B to the venue's own submit endpoint, which returns a venue order id (reported as venue-acknowledged, since it is not an on-chain signature). Gate follow-on decisions on ``verification.confirmed``, never on tx_signature alone. ``venue_action`` (optional, completion leg only): the value the BUILD leg recorded on ``extra['venue_action']`` -- pass it back alongside ``signed_transaction`` so Crank relays the bytes under the venue action the venue itself named (e.g. Jupiter's create-limit-order, for a keeper-co-signed build that can only land via the venue's execute endpoint). Omit it and Crank reads the signed bytes' own message header: caller-completable bytes go to Solana RPC, but keeper-co-signed bytes need a venue action, which is then derived from ``order_type`` alone (limit -> create-limit-order, market -> increase-position). On the completion leg ``order_type`` is therefore load-bearing and is NEVER defaulted: omit both it and ``venue_action`` on keeper-co-signed bytes and the call is refused with a re-build instruction rather than relayed under a guessed action. Always round-trip the build response's ``extra['venue_action']``. ``order_type``: "market" | "limit". Omitted on the BUILD leg it defaults to "market" (unchanged); omitted on the completion leg it stays unset (see ``venue_action`` above). ``simulate`` (optional): true = rehearse this call. The full gate stack (capability, kill switch, session signer, wallet policy, permission mode, soft launch, venue / compliance / token checks, fee quote) is evaluated read-only and returned as ``verdicts`` + ``would_execute``, with a paper fill where one applies. Nothing is built, signed, broadcast or charged. Omitted = your wallet's default_simulate setting; false = execute.
Paramètres, retour & exemple (21)
Paramètresip· string · optionnelside· string · requisvenue· ? · optionnelmarket· string · requisverify· boolean · optionnelleverage· number · requissimulate· ? · optionnelsize_usd· number · requiscaller_id· string · optionnelorder_type· ? · optionnellimit_price· ? · optionneljurisdiction· ? · optionnelpay_in_crank· boolean · optionnelvenue_action· ? · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelstop_loss_price· ? · optionneltake_profit_price· ? · optionnelacknowledge_tier_b· boolean · optionnelsigned_transaction· ? · optionnel
Exemple d'appel{"name": "place_perp_order", "arguments": {"side": "texte", "market": "texte", "leverage": 1, "size_usd": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - pledge_to_ilo≈ 654 tokens
Pledge to a token launch. PLAN MODE BY DEFAULT (non-custodial). ``amount`` is in pledge-mint BASE UNITS (USDC is 6dp: 1_000_000 = 1 USDC). Default (``confirm=false``) returns ``action: "plan"`` -- a preview that evaluates every on-chain guard off-chain first (launch status, pledge window, remaining capacity, per-wallet cap) plus the anti-sybil screen and a pro-rata allocation projection. Nothing is built and nothing moves. ``confirm=true`` returns ``action: "sign_required"`` with an UNSIGNED base64 transaction you sign with your own wallet and broadcast yourself. Crank never holds your keys. A pledge is irreversible once broadcast: the on-chain refund path opens only if the raise fails its minimum. Utility token fair launch -- this commits funds to a non-custodial escrow. It is not a purchase of any expectation of profit and confers no claim on issuer revenue. The technology service fee applies past the daily free tier (x402 payment_header; set pay_in_crank for the $CRANK discount). ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the original result instead of pledging twice. US persons are blocked (Reg S-flavoured geo-posture, I4): declare ``jurisdiction`` (ISO-3166-1 alpha-2) or rely on a stored attestation; unknown jurisdiction is DENIED. ``confirm=true`` additionally requires ``disclosures_acknowledged=true`` -- read the mandatory pre-pledge disclosure block (``get_ilo_details`` or a plan-mode preview) first (I2). Workflow: EXECUTE step -- get_ilo_details, then plan-mode preview, then confirm=true. Track it afterwards with get_my_pledge_status.
Paramètres, retour & exemple (12)
Paramètresip· string · optionnelamount· integer · requisconfirm· boolean · optionnelcaller_id· string · optionnellaunch_id· integer · requisjurisdiction· string · optionnelpay_in_crank· boolean · optionnelpayment_header· string · optionnelwallet_address· string · requisidempotency_key· string · optionnelpledger_token_account· string · optionneldisclosures_acknowledged· boolean · optionnel
Exemple d'appel{"name": "pledge_to_ilo", "arguments": {"amount": 1, "launch_id": 1, "wallet_address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - poll_agent_wallet_enable≈ 191 tokens
Poll a Lane 2 enablement request; provisions the wallet ONLY once approved. On approval, applies the server-enforced conservative Lane 2 default policy (per-tx $50, daily $200, SOL+USDC only, 10% drawdown halt) and a 10-execution training-wheels counter, then returns the policy READ BACK from the server -- never the intended one.
Paramètres, retour & exemple (2)
Paramètrescaller_id· string · optionneldevice_code· string · requis
Exemple d'appel{"name": "poll_agent_wallet_enable", "arguments": {"device_code": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
+ 76 autres outils (affichage limité à 120).
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».