Skip to content

Trading catalog

Crank exposes the full breadth of Solana DeFi to AI agents through one MCP surface: spot swaps, perpetual futures, shorting, leverage, tokenized equities, lending, liquid staking, flash loans, and 17 composable strategy types. Every value-bearing action follows the same non-custodial contract: Crank builds the unsigned transaction, your agent's own wallet signs it. Crank never holds keys, never takes deposits, and never touches funds.

Each entry below states what the primitive is, how an agent actually uses it, and its current availability -- we mark honestly what is live today versus what is rolling out.

Status legend:

Status Meaning
Live Callable now on the hosted MCP server.
Live (jurisdiction-gated) Callable now; requires a one-time jurisdiction attestation and passes a geo-eligibility check before any transaction is built.
Rolling out Built and verified on devnet; being enabled in stages.
Coming soon Designed and on the roadmap; not yet callable.

Every action-class tool also passes through the platform safety stack before a transaction is returned: token authenticity verification, per-wallet policy gates (spend limits, allow-lists, daily caps), USD notional sizing checks, a program allow-list on the constructed transaction, and a global kill switch.


Spot swaps

Status: Live

Swap any Solana token pair with routing across the deepest available liquidity, via Jupiter aggregation. This is the workhorse primitive -- most strategies bottom out in a swap.

How an agent uses it:

  1. get_quotes (free) -- price the route before committing.
  2. verify_token (free) -- multi-layer authenticity check on the target mint.
  3. jupiter_swap -- returns the unsigned transaction for the agent to sign and broadcast.
result = await client.call_tool("jupiter_swap", {
    "input_token": "So11111111111111111111111111111111111111112",   # SOL
    "output_token": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",  # USDC
    "amount": 100_000_000,
    "wallet_address": "<AGENT_PUBLIC_KEY>",
    "caller_id": "my-agent",
})

Swaps are sized in USD terms against per-wallet policy limits before the transaction is built, so a runaway agent cannot exceed the caps its operator set.

Perpetual futures

Status: Live (jurisdiction-gated)

Long or short perpetual futures with leverage, routed through on-chain, non-custodial venues -- Jupiter Perps is the primary venue today. Perps flow through a venue adapter, not a hardcoded integration, so venues can be enabled per-market without agents changing code.

How an agent uses it: perp_markets, perp_positions, and perp_funding_rates (free reads) to see markets, current exposure, and funding, then perp_open_long / perp_open_short / perp_close to act. Opening a position requires a one-time jurisdiction attestation; the tool returns an unsigned transaction like every other action. Position lifecycle supports two-phase execution -- the agent signs, passes the signed transaction back for broadcast, and Crank runs post-trade verification to confirm what actually landed on-chain, so the agent's journal reflects reality rather than intent.

Shorting

Status: Live (jurisdiction-gated)

Express a negative view on an asset without holding it. Shorting on Crank is built on the same non-custodial rails: borrow-and-sell against collateral, or a short perp position, depending on the asset and route. The shorting tools carry the same jurisdiction attestation and geo-eligibility gate as perps.

How an agent uses it: short_open to take the position, short_status to monitor it, short_close to exit. The response is an unsigned transaction plus the liquidation parameters the agent should journal and monitor; set_liquidation_alert arms a notification before the danger zone.

Leverage

Status: Live (jurisdiction-gated)

Agents take leveraged exposure two ways: directionally through perpetual futures, or as a looped spot position via leverage_long / leverage_close, which builds leverage through the lending markets (deposit-borrow-redeposit). Both paths run through the same USD notional sizing checks and per-wallet policy limits, so effective leverage stays inside operator-defined bounds.

Tokenized equities (synthetic stocks)

Status: Live (jurisdiction-gated)

Trade tokenized stock exposure on Solana through the same agent interface as any other asset. This is the most tightly gated venue on the platform: eligibility is checked per wallet and per jurisdiction, and ineligible regions are refused at transaction-build time -- not after.

How an agent uses it: equity_markets and equity_quote (free reads) to see what is listed and priced, equity_market_hours for trading windows, then trade_equity to act and equity_positions to track exposure. From the agent's point of view a tokenized equity is one more asset with stricter gates.

Loans and lending

Status: Live (jurisdiction-gated)

Supply assets to earn yield, or borrow against collateral -- the credit leg that turns a spot portfolio into a capital-efficient one. Lending flows carry their own compliance gate (sanctions screening on the acting wallet) and the same post-trade verification as perps and staking.

How an agent uses it: get_lending_rates (free) to survey the markets, then lend_deposit / lend_borrow / lend_repay to act, with get_health_factor to watch collateralization. Each action returns an unsigned transaction; borrow sizing is checked against policy limits in USD terms.

Liquid staking

Status: Live

Stake SOL through liquid staking tokens (LSTs) so the position stays liquid and composable while earning staking yield. Staking actions support the two-phase sign-and-broadcast flow with post-trade verification.

How an agent uses it: get_lst_yields (free) to compare, then liquid_stake to enter, lst_swap to rotate between LSTs, and unstake_lst to exit. A common agent pattern is parking idle SOL in an LST between strategy signals.

Flash loans

Status: Live

Atomic borrow-use-repay within a single transaction, via the flash_loan tool -- for agents running arbitrage or refinancing flows that need momentary capital. The entire sequence either completes or reverts; there is no unsecured exposure.

Strategy automations

Status: Live

Beyond single actions, Crank ships 17 strategy types an agent can instantiate, parameterize, and run: DCA, momentum, arbitrage, copy-wallet, rebalance, stop-loss, hedge, basis trade, perp grid, market-making, and more -- including a composite type that combines strategies through a signal-rule DSL. Every strategy execution routes through the same policy gate stack as a hand-built trade, with USD notional derivation per tick, daily limits, and permission-mode checks at execution time.

How an agent uses it: each strategy type has a dedicated creation tool (strategy_dca_create, strategy_momentum_create, strategy_arb_create, strategy_copy_wallet_create, ...), plus a shared lifecycle -- strategy_list, strategy_status, strategy_modify, strategy_pause / strategy_resume, strategy_cancel. Strategies can also be cloned from published templates; clone creators earn a share of the technology service fee on clone actions.

Autonomous within-policy execution

Status: Rolling out

Today, value-bearing actions default to a propose-and-approve flow: the agent proposes, the operator approves, the wallet signs. The next stage -- within-policy autonomy -- lets an operator delegate a scoped signing session so the agent can execute automatically inside hard policy bounds (spend caps, asset allow-lists, daily limits), with an instant kill switch. The scoped-signer rail is built and has been verified live on devnet; it is being enabled in stages behind a deliberate safety rollout.

Fees

Reads are free. Value-bearing actions are charged a technology service fee (base 0.75%, volume-tiered down to 0.40%, with staker discounts) -- see the fee schedule.

Next

  • Markets -- what assets and venues are behind these primitives.
  • The Hive -- the collective intelligence layer these trades feed.
  • Quickstart -- make your first call.