Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

Rubin Exchange

trade.rubin/exchange

Rubin: self-custody DEX for crypto perpetuals & spot - trade, read positions, orders, balances.

Uptime
100.0%
1 direct probes · 30d
Response
505ms
last probe
Tools
33
callable
Resources
0
readable
Prompts
12
available

Tools · 33

whoami

Report what this session controls: the master account (its address in BOTH forms — cosmos rit1… and EVM 0x…, the same 20 bytes), the subaccount, whether it can trade or is read-only, and the exact on-…

get_block_height

Return the latest chain block height. Useful for SHORT_TERM order goodTilBlock math.

list_markets

List all perpetual markets with ticker, status and oracle price. Use this first to discover valid market tickers (e.g. BTC-USD) before placing orders.

get_market

Get details for one perpetual market (clobPairId, atomicResolution, quantumConversionExponent, tick/step sizes, oracle price, status).

get_orderbook

Get the live orderbook (bids/asks) for a market, optionally truncated to a depth.

get_candles

Get OHLCV candles for a market at a given resolution. Useful for trend/volatility analysis.

get_candles_multi

Get recent OHLCV candles for a market across MULTIPLE resolutions in one call — by default ALL indexer resolutions (1MIN, 5MINS, 15MINS, 30MINS, 1HOUR, 4HOURS, 1DAY) — so the agent can read the trend …

get_balance

Get the subaccount collateral (USDC asset position) and the on-chain wallet bank balances. Collateral is what backs trading; the WALLET balance is where money sent to the account lands and is NOT coll…

get_equity

Get the subaccount summary: equity, freeCollateral, marginEnabled, open perpetual positions and asset positions.

get_positions

Get perpetual POSITIONS with size, side, entryPrice, unrealizedPnl, realizedPnl and netFunding. Defaults to OPEN positions. NOTE: a position is what you HOLD after an order fills — it is NOT an open o…

get_open_orders

Get currently active ORDERS for the subaccount, optionally filtered by market and side. Includes OPEN resting orders and UNTRIGGERED conditional orders (TP/SL accepted on-chain but not yet triggered).…

get_portfolio

One-call snapshot of everything the account has "open": equity & freeCollateral, every open POSITION (with notional, unrealized PnL and estimated liquidation price), every active ORDER (resting + untr…

get_position_risk

Margin health for the subaccount: equity, freeCollateral, total maintenance/initial margin, maintenanceMarginBufferUsd (the EXACT liquidation guard — liquidatable when < 0), marginUsageRatio (1.0 = at…

get_fills

Get executed fills for the subaccount, including price, size, fee and maker/taker liquidity.

get_pnl

Get historical PnL ticks for the subaccount (equity, totalPnl, netTransfers over time). Use createdOnOrAfter to bound the range.

get_funding_status

Where the account's USDC sits: in the WALLET (bank balance — money sent to the account lands here and is NOT collateral) vs in the trading SUBACCOUNT (equity / free collateral). Returns depositableUsd…

deposit_to_subaccount

Deposit USDC from the account's WALLET into its trading SUBACCOUNT so it becomes collateral. Without amountUsd it moves everything above the $0.95 gas reserve (what the web app does); with amountUsd i…

top_up_gas

Move a little USDC from the trading subaccount back to the WALLET when the wallet is at or below $0.55 — just enough to restore the $0.95 gas reserve that deposit/withdraw transactions need. Only the …

place_limit_order

Place a limit order. Default timeInForce=GTT (long-term, durable, broadcast-commit so errors return synchronously). Use SHORT_TERM only for latency-sensitive orders (expire within ~20 blocks, broadcas…

place_market_order

Place an IOC market order. It executes as an IOC limit at a worst-acceptable price mirrored around the oracle by side — BUY caps ABOVE the oracle, SELL below — at slippageBps distance (default 500 = 5…

cancel_order

Cancel a single order by clientId. For SHORT_TERM pass goodTilBlock; for LONG_TERM/CONDITIONAL pass goodTilTimeSeconds (the original good-til value, available from get_open_orders). Returns `confirmat…

cancel_all_orders

Cancel every OPEN order for the subaccount in a market (handles SHORT_TERM and LONG_TERM automatically). Returns `confirmation.remainingOpen` — orders still OPEN after the cancel (0 = all gone); if > …

batch_cancel

Cancel multiple SHORT_TERM orders in one tx. SHORT_TERM only (chain limitation) — for stateful/mixed use cancel_all_orders.

place_stop_loss

Place a reduce-only Stop loss (conditional market order) that triggers at triggerPrice. Side must be the CLOSING side of the position: SELL closes a LONG, BUY closes a SHORT. Once triggered it execute…

place_take_profit

Place a reduce-only Take profit (conditional market order) that triggers at triggerPrice. Side must be the CLOSING side of the position: SELL closes a LONG, BUY closes a SHORT. Once triggered it execu…

close_position

Close all or part of an open perpetual position with a reduce-only MARKET order. Reads the current position, flips the side automatically (LONG→SELL, SHORT→BUY) and sizes the close. percent defaults t…

close_all_positions

Flatten EVERY open perpetual position with reduce-only MARKET orders (one per market). Respects the operator market allowlist (disallowed markets are skipped and reported). Each close is bounded at or…

open_position

Enter a NEW position with a MARKET order, sized by base `size` OR quote `notionalUsd` (exactly one required; notionalUsd converts at the oracle price and is floored to the step size). Optionally attac…

get_news

Fetch the latest headlines from the ritbit news feed (curated crypto / markets / business channels, newest first). Filter by `category` (crypto|markets|business) or explicit `channels`, and/or a free-…

get_leaderboard

The trader PnL leaderboard for a time span (ONE_DAY, SEVEN_DAYS, THIRTY_DAYS, ONE_YEAR, ALL_TIME): rank, username, address, PnL (USD), ROI (%) and current equity per trader, paginated. Also returns `m…

get_my_rank

Where THIS account ranks on the PnL leaderboard: rank, board size ("21 of 66"), PnL, ROI and equity — for one time span, or for every time span (ONE_DAY … ALL_TIME) when none is given. A null entry me…

get_fee_tier

This account's current trading fee tier and conditions: maker/taker fee (% of notional; a negative maker fee is a rebate), the 30-day maker/taker volume it is judged on, any staking discount, the next…

get_referral_program

This account's referral / affiliate program status: referral code and link, whether the link is unlocked (lifetime volume threshold, or already an affiliate), current affiliate tier and taker-fee shar…

Prompts · 12

check_portfolio

Summarize balance, open positions, open orders and margin risk in plain language.

scan_markets

Read the tape across markets and propose one or two concrete trade ideas.

protect_positions

Find positions without a stop-loss / take-profit and propose a protective bracket.

enter_trade

Guided market entry with an optional protective bracket.

flatten_all

Flatten all open positions at market after a confirmation.

assess_situation

Combine market trend, news catalysts and my positions into one read.

my_rank

My place on the PnL leaderboard across time spans, with the top traders for context.

my_fees

Current fee tier, the fees I pay, and what it takes to reach the next tier.

referral_program

Referral code and link, affiliate status and tier, earnings, and how the program works.

fund_account

Check the wallet vs trading-account balance and deposit spare USDC into collateral.

my_account

What this connection controls: account addresses (0x and rit1), scope, and limits.

latest_news

A quick digest of the latest crypto headlines that matter.

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "rubin_exchange": {
      "url": "https://mcp.mainnet.rubin.trade/mcp",
      "transport": "streamable-http"
    }
  }
}