Skip to content

Connect Orderly to ChatGPT: Execute trades and manage margin settings

Learn how to connect Orderly to ChatGPT using a managed MCP server. Execute crypto trades, manage margin settings, and automate portfolio workflows using natural language.

Uday Gajavalli Uday Gajavalli · · 9 min read
Connect Orderly to ChatGPT: Execute trades and manage margin settings

If you want to connect Orderly to ChatGPT so your AI agents can execute spot and perpetual futures trades, manage margin modes, settle unrealized PnL, and analyze portfolio risk in real-time, you need a Model Context Protocol (MCP) server. If your team uses Claude, check out our guide on connecting Orderly to Claude or explore our broader architectural overview on connecting Orderly to AI Agents.

Giving a Large Language Model (LLM) read and write access to a decentralized omnichain trading infrastructure like Orderly is a high-stakes engineering challenge. You are dealing with complex numeric precision limits, nested algorithmic order payloads, and cryptographic signature requirements. You can either spend weeks building, hosting, and securing a custom MCP server to translate LLM JSON arguments into Orderly's strict L2 requirements, or you can use a managed infrastructure layer to dynamically generate those tools.

This guide breaks down exactly how to use Truto to generate a secure, authenticated MCP server for Orderly, connect it natively to ChatGPT, and execute advanced trading and account management workflows using natural language.

Stop writing boilerplate API integration code. Let Truto generate secure, managed MCP servers for your AI agents in seconds. :::

The Engineering Reality of the Orderly API

A custom MCP server is a self-hosted translation layer. While the MCP standard provides a predictable way for ChatGPT to discover and call tools, implementing it against a high-frequency trading protocol like Orderly introduces domain-specific hurdles that break standard REST assumptions.

If you decide to build a custom MCP server for Orderly, you own the entire integration lifecycle. Here are the specific challenges you will face:

EIP-712 Cryptographic Signatures

Orderly is built on top of a decentralized ledger. Unlike standard B2B SaaS applications that rely purely on static bearer tokens, many consequential write actions in Orderly (like adding access keys, registering accounts, settling PnL, or creating withdrawal requests) require EIP-712 typed data signatures from an external wallet. Your MCP server cannot just pass a JSON payload; it must orchestrate a flow where the user's wallet signs a specific message structure, retrieves a nonce, and then submits the signature, userAddress, and verifyingContract. Getting an LLM to reliably sequence this multi-step cryptographic handshake requires highly specific prompt engineering and strict JSON schema definitions.

Tick Sizes and Numeric Precision

LLMs are notoriously bad at adhering to strict numeric precision constraints. In Orderly, every trading pair has specific constraints defined in the order rules (e.g., base_tick, quote_tick, min_notional). If an LLM decides to place an order for BTC-PERP at $65,123.456, but the quote_tick for that symbol is 0.5, the Orderly API will reject the payload with a validation error. A custom MCP server must dynamically fetch these order rules, inject them into the LLM's context, and validate the requested price and quantity against modulo arithmetic before forwarding the request to the upstream API.

Nested Algorithmic Order Types

Executing a basic limit order is straightforward, but Orderly supports complex bracket orders (Take Profit / Stop Loss). A single create_a_orderly_algo_order request requires a nested array of child orders, each with its own algo_type, trigger_price, and side. Defining the JSON schema for this in a way that prevents ChatGPT from hallucinating incorrect enum values or missing required nested fields requires maintaining complex, recursive schema definitions in your MCP code.

A Factual Note on Rate Limits

When executing high-frequency queries against Orderly, you will encounter rate limits. It is critical to understand that Truto does not retry, throttle, or apply backoff on rate limit errors. When the upstream Orderly API returns an HTTP 429, Truto passes that exact error back to the caller. Truto normalizes the upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF specification. The caller (or the orchestrating agent framework) is entirely responsible for reading these headers and implementing their own retry and exponential backoff logic.

How to Create the Orderly MCP Server

Truto derives MCP tools directly from the underlying API documentation and integration configurations, meaning tools are dynamically generated based on the actual capabilities of the Orderly account.

You can create a dedicated Orderly MCP server using either the Truto UI or the Truto API.

Method 1: Via the Truto UI

  1. Log into your Truto account and navigate to Integrated Accounts.
  2. Select your connected Orderly account.
  3. Click the MCP Servers tab.
  4. Click Create MCP Server.
  5. Select your desired configuration (e.g., filtering for specific methods like read or tagging specific resources like orders or positions).
  6. Click save and copy the generated MCP server URL. Treat this URL as a secret, as it contains a hashed token that grants access to the account.

Method 2: Via the Truto API

For teams dynamically provisioning AI workspaces, you can generate the MCP server programmatically. This endpoint checks plan limits, verifies AI-readiness, and stores a hashed authentication token securely at the edge.

curl -X POST https://api.truto.one/integrated-account/{integrated_account_id}/mcp \
  -H "Authorization: Bearer YOUR_TRUTO_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Orderly Trading Agent",
    "config": {
      "methods": ["read", "write", "custom"],
      "tags": ["orders", "positions", "account"]
    }
  }'

The response returns the tokenized server URL:

{
  "id": "mcp_abc123",
  "name": "Orderly Trading Agent",
  "url": "https://api.truto.one/mcp/xyz987securetoken..."
}

Connecting the MCP Server to ChatGPT

Once you have the Truto MCP URL, you need to register it with your ChatGPT environment. You can do this through the ChatGPT interface or via a local configuration file if you are running a custom client.

Method 1: Via the ChatGPT UI

  1. Open ChatGPT.
  2. Navigate to Settings -> Apps -> Advanced settings.
  3. Enable Developer mode (MCP support requires this flag, available on Pro, Plus, Business, Enterprise, and Education plans).
  4. Under MCP servers / Custom connectors, click Add a new server.
  5. Give it a name (e.g., "Orderly Trading (Truto)").
  6. Paste the Truto MCP URL into the Server URL field.
  7. Save. ChatGPT will immediately perform a JSON-RPC handshake to discover the available Orderly tools.

Method 2: Via Manual Configuration File

If you are using a local development environment or a CLI-based agent framework that supports MCP (like LangChain or Cursor), you can connect using the standard SSE transport command. Add the following to your MCP configuration file (e.g., mcp_config.json):

{
  "mcpServers": {
    "orderly_truto": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "--url",
        "https://api.truto.one/mcp/xyz987securetoken..."
      ]
    }
  }
}

Orderly Hero Tools for AI Agents

When ChatGPT connects to the Orderly MCP server, it gains access to the specific API methods defined by the integration. Here are six high-leverage hero tools that transform an LLM into a competent trading assistant.

Get Order Rules and Constraints

Tool: orderly_symbols_get_order_rules

Before placing any trade, ChatGPT must query the constraints for a specific symbol to avoid tick-size and notional value validation errors. This tool returns the base_tick, quote_tick, min_notional, and required margin ratios for a given trading pair.

"Fetch the order rules for PERP_BTC_USDC. I need to know the minimum notional value and the exact tick size for pricing before I calculate our entry strategy."

Place a Standard Order

Tool: create_a_orderly_order

This is the core execution tool for spot and perpetual futures. It handles limit, market, and IOC orders. Because Truto injects the id into the schema and flattens the namespace, ChatGPT can easily pass the required symbol, order_type, and side arguments.

"Place a limit buy order for 0.5 PERP_BTC_USDC at a price of 64500. Ensure it is set as a post-only order to capture the maker fee rebate."

Manage Perpetual Leverage

Tool: update_a_orderly_leverage_by_id

Risk management requires dynamic leverage adjustments. This tool allows the agent to modify the leverage setting for a specific perpetual contract. Orderly strictly requires an integer between 1 and 100.

"We are over-exposed on our Ethereum short. Update the leverage on PERP_ETH_USDC to 5x to reduce our liquidation risk."

Query Isolated/Cross Positions

Tool: get_single_orderly_position_by_id

To make informed trading decisions, ChatGPT needs real-time insight into existing positions, including the estimated liquidation price, mark price, unrealized PnL, and current margin ratio.

"Get the current position details for PERP_SOL_USDC. Tell me the exact estimated liquidation price and our current unrealized PnL."

Settle Unrealized PnL

Tool: orderly_pnl_settlement_request

In Orderly, unrealized PnL from perpetuals cannot be immediately withdrawn or used as margin across all pairs without settlement. This tool initiates the settlement process, shifting unrealized gains into the available account balance.

"Our open positions have accrued significant unrealized gains. Initiate a PnL settlement request using the latest settlement nonce so we can free up collateral."

Cancel Pending Orders

Tool: delete_a_orderly_order_by_id

Active management requires pruning stale orders. This tool cancels a specific pending limit or stop order based on the order_id and symbol.

"Cancel the pending limit buy order ID 987654321 for PERP_BTC_USDC, the market has moved too far away from our entry."

For the complete inventory of available Orderly API tools, schemas, and required parameters, review the Orderly integration page.

Workflows in Action

Providing individual tools is just the foundation. The true power of an MCP server is enabling ChatGPT to orchestrate multi-step financial workflows autonomously. Here are two real-world scenarios.

Scenario 1: Risk Assessment and Leverage Reduction

Crypto markets are highly volatile. When market conditions change rapidly, a user can instruct ChatGPT to audit their risk and adjust leverage accordingly.

"Check my current position on SOL-PERP. If my unrealized PnL is negative and the mark price is within 10% of my liquidation price, reduce my leverage to 3x to give us more breathing room."

Execution flow:

  1. get_single_orderly_position_by_id: ChatGPT fetches the position data for PERP_SOL_USDC.
  2. Analysis: The model compares the mark_price against the est_liq_price and checks the unsettled_pnl.
  3. update_a_orderly_leverage_by_id: If the 10% risk threshold is breached, the model invokes this tool, passing symbol: "PERP_SOL_USDC" and leverage: 3, instantly de-risking the account.
sequenceDiagram
    participant User
    participant ChatGPT as ChatGPT (MCP Client)
    participant Truto as Truto MCP Server
    participant Orderly as Orderly API

    User->>ChatGPT: "Check SOL-PERP risk and reduce leverage to 3x if close to liquidation."
    ChatGPT->>Truto: Call get_single_orderly_position_by_id (PERP_SOL_USDC)
    Truto->>Orderly: GET /v1/position/PERP_SOL_USDC
    Orderly-->>Truto: Return position (mark_price, est_liq_price, pnl)
    Truto-->>ChatGPT: Return position data
    Note over ChatGPT: LLM calculates price distance<br>determines 10% threshold breached.
    ChatGPT->>Truto: Call update_a_orderly_leverage_by_id (PERP_SOL_USDC, 3)
    Truto->>Orderly: POST /v1/client/leverage
    Orderly-->>Truto: 200 OK (Leverage updated)
    Truto-->>ChatGPT: Return success
    ChatGPT-->>User: "Leverage reduced to 3x successfully."

Scenario 2: Algorithmic Bracket Order Setup

Setting up complex trades manually is prone to fat-finger errors. ChatGPT can calculate the correct mathematical bounds and submit nested algorithmic orders in a single action.

"I want to go long on ETH-PERP. Get the current order rules for precision, then place a limit order for 5 ETH at $3000. Attach a take profit at $3200 and a stop loss at $2900."

Execution flow:

  1. orderly_symbols_get_order_rules: ChatGPT fetches the base_tick and quote_tick for PERP_ETH_USDC to ensure its requested prices are valid.
  2. create_a_orderly_algo_order: ChatGPT constructs a complex JSON payload specifying the root limit order and nests the TAKE_PROFIT and STOP_LOSS child orders, submitting them simultaneously to protect the trade.

Security and Access Control

Giving an AI agent financial execution capabilities requires strict guardrails. Truto's MCP architecture provides multiple layers of security to restrict what the LLM can touch.

  • Method Filtering (config.methods): You can restrict the MCP server to read-only access by specifying ["read"]. This allows ChatGPT to analyze portfolios and query market data, but strictly blocks tools like create_a_orderly_order or update_a_orderly_leverage_by_id from being generated.
  • Tag Filtering (config.tags): Scope the server to specific operational domains. For example, by specifying ["markets", "prices"], the LLM can only access public market data tools, completely hiding user-specific account or private holding data.
  • Secondary Authentication (require_api_token_auth): When set to true, possessing the MCP URL is not enough. The client must also pass a valid Truto API token in the Authorization header, ensuring only authorized team members or automated systems can invoke the tools.
  • Time-to-Live (expires_at): Generate ephemeral MCP servers for temporary analysis workflows. Once the ISO timestamp is reached, the server is automatically destroyed and the token is revoked from edge storage.

Orchestrating DeFi with LLMs

Connecting Orderly to ChatGPT moves your AI agent from a passive observer of market data into an active portfolio manager. By leveraging an MCP server that handles the complex realities of API authentication and payload schemas, your developers can focus on building intelligent trading logic instead of writing point-to-point integration boilerplate.

With managed tools securely scoped and dynamically generated, you can trust your agents to audit risk, execute trades, and manage algorithmic orders precisely when the market moves.

FAQ

How does Truto handle Orderly API rate limits?
Truto does not retry, throttle, or apply backoff on rate limit errors. When Orderly returns an HTTP 429, Truto passes that exact error to the caller, normalizing the rate limit information into standard headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset). The caller is responsible for implementing retry logic.
Can I prevent ChatGPT from placing trades on Orderly?
Yes. When creating the MCP server, you can set the method filter to 'read'. This ensures that only safe, read-only tools are generated and exposed to the LLM.
Does this support Orderly perpetual futures?
Yes. The tools include endpoints for querying positions, updating leverage, managing margin modes, and executing orders for both spot and perpetual futures.
Do I need to manage Orderly API credentials manually?
No. The Orderly account is connected once in Truto as an Integrated Account. The MCP server utilizes these managed credentials securely behind the scenes.

More from our Blog