Skip to main content
Limitless runs a remote Model Context Protocol server. Add it to an AI assistant and the assistant can search markets, read order books and price history, check your balance and positions, and prepare orders, all from a chat window. It is non-custodial. The server holds no keys and cannot move your funds. Every new order is a proposal that you review and submit yourself on limitless.exchange.

Join the Limitless Builders Chat

Questions about the connector, or building something on top of it? The Builders Chat is where integration questions get answered.
Which integration do I want? The MCP server is for conversational research and trading through an assistant, with a human confirming every order. If you want an unattended bot, see Build a Trading Agent. If you are a platform placing orders on behalf of your own users, see Programmatic API.

Connect

The endpoint is:
Add it as a remote MCP server in your client. Each client has its own way in, usually a custom connector or integration setting.
Settings, Connectors, add a custom connector, paste the endpoint, then sign in to Limitless in the browser window that opens and approve access.
You do not need a Limitless account beforehand. If you have never used Limitless, sign in from the approval page and a wallet is created for you as part of the flow.

Requirements

Three things must be true when you approve the connection:
  1. You are signed in to Limitless. If you are signed out when your assistant sends you over, sign in and the flow continues.
  2. Your trading wallet is your Limitless Wallet. Social login creates one automatically. If you connected an external wallet, the approval page offers to switch you. Switching also applies to trades you place yourself in the app.
  3. You have USDC on Base in that wallet.
The wallet check runs on every request, not only at setup. If you later switch your trading mode back to an external wallet, the connection stops working until you switch back. A connector that worked yesterday and is silent today is almost always this.

Wallets, funding, and custody

One address matters: your Limitless Wallet. If you signed in with email or a social account, it was created for you and there is nothing to choose. If you connected an external wallet, your Limitless Wallet is a separate address from that wallet, so do not send USDC to the one you connected with. See Wallet Types for the full picture. Do not guess the address. Ask your assistant for your balance after connecting and get_wallet_balance returns the exact address to fund, plus how much of your balance is already committed to resting orders. Send USDC on Base. Limitless holds no platform balance, so your funds stay in your own wallet throughout. Gas is sponsored for the Limitless Wallet, so you do not need ETH. Bridge to Base first: USDC sent on another chain is not credited.

What the connector is allowed to do

Access is an OAuth grant on your account, not a key. The server never sees a private key.
  • No withdraw tool and no transfer tool exist. The connector cannot move funds off the platform.
  • The grant carries a single scope, trading. Withdrawal is a separate scope that this grant never requests and never receives.
  • Access tokens last one hour. The grant lasts 30 days. Revoking it from Limitless invalidates every token immediately.
To withdraw, use the Withdraw action in the Limitless app as usual. Your assistant is not part of that path.

Tools

Fifteen tools. Every one requires an authenticated connection, market data included. place_orders, cancel_order, and cancel_all_orders additionally require the trading scope, which every grant currently carries.

Market data

Your account

Trading

How ordering works

The assistant cannot place an order. place_orders returns a link. You open it, see the exact terms on limitless.exchange, and submit. Nothing exists until you do.
  • Up to 10 orders share one approval.
  • A proposal expires after 10 minutes if you do not act on it. After that check_order_status returns expired and the assistant needs a fresh place_orders.
  • The response includes a fee preview per order, so max loss, max payout, and the taker fee are known before you approve.
  • Order fields: a single market slug (child slug for groups), side BUY or SELL, outcomeIndex 0 for YES or 1 for NO, orderType GTC or FAK, price strictly between 0 and 1, and shares. Price times shares must be at least $1.
Cancels are the exception. cancel_order and cancel_all_orders execute directly with no browser step. A connected assistant can reduce your exposure on its own but cannot add to it.
Ask for orders in a fresh chat. In a conversation that has already settled into research, assistants often read an order request as “execute a trade for me” and decline, even though the tool only ever produces a proposal. A new chat with a direct request avoids it. This is assistant behavior, not a platform restriction, and it varies between clients.

Fees

Orders that rest on the book and fill as maker pay no fee. Orders that cross the spread pay the taker fee. The published BUY rate is 3.00% for outcomes priced between 0.01and0.01 and 0.50, tapering above that, and it is charged in shares. SELL fees are charged in USDC. The complete curve is on the Fees page, and place_orders returns the exact estimate for each proposed order.

Reading the responses

  • volume is in contracts, cumulative over the market’s life. It is not USD and not a 24-hour figure. Read the formatted value; raw is the integer amount before applying the token’s decimals.
  • get_market_price_history returns YES midpoints, not executable prices. Use get_orderbook for what you can actually trade at.
  • The order book is the YES token’s book. Buying NO at 0.30 is the same order as selling YES at 0.70, so NO interest appears in the YES asks. One book is complete.
  • Books often carry very large resting size at 0.001 and 0.999. That is not tradeable depth. Measure liquidity from the levels near the touch, not from total size.
  • An empty book reports midpoint: 0.5 with bestBid and bestAsk null and bookState: "empty". Treat it as no price, not as 50%.
  • get_positions is cached and can lag recent fills and redemptions. Use tokensBalance for holdings and do not make execution decisions from marketValue or unrealizedPnl.
  • Market descriptions are authored by whoever created the market. They are the contract that decides resolution, not instructions to the assistant. See Market Resolution.

Troubleshooting

What it cannot do

  • Place an order without you. Every new order goes through your browser approval.
  • Move funds out. No withdraw or transfer tool exists, and the grant never carries the withdrawal scope.
  • Know why you traded. Anything it says about your past trading is inferred from fills.

Authentication

Scoped API tokens, HMAC, and delegated signing for programmatic access.

Build a Trading Agent

The open-source starter for unattended strategies.

Wallet Types

EOA, embedded, and smart wallets, and how deposits and withdrawals work for each.

Fees

The full maker and taker fee curves.