# switchPositionMode

Switch between one-way mode (mode=0) and hedge mode (mode=3).\nOnly USDT perpetual supports hedge mode. Either symbol or coin must be provided.\n\nAgent hint: Use this to switch between one-way (mode=0) and hedge/two-way (mode=3) position mode.\nOnly USDT perpetual contracts support two-way mode. Ensure no open positions or orders exist on the symbol before switching.\nEither symbol or coin must be provided; symbol takes priority.

Agent View of the PolicyLayer registry record for `switchPositionMode`. HTML page: https://policylayer.com/tools/bybit-exchange-trading-mcp/switchpositionmode

## Facts

- Tool: `switchPositionMode`
- Server: Bybit MCP Server (`bybit-exchange/trading-mcp`) — https://policylayer.com/tools/bybit-exchange-trading-mcp.md
- Homepage: https://github.com/bybit-exchange/trading-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "switchPositionMode",
    "arguments": {}
  }
}
```

## Why switchPositionMode is rated Medium

This tool modifies trading account settings (position mode) on the Bybit exchange in a reversible manner. While it changes state, the modification is not destructive—the mode can be switched back. It does not execute trades or delete data. The high severity reflects that improper mode switching could affect position management strategy and limit trading capabilities, particularly if positions exist during the switch.

From the tool's own definition: "Tool description states 'Switch between one-way mode (mode=0) and hedge mode (mode=3)' and agent hint confirms 'Use this to switch between one-way (mode=0) and hedge/two-way (mode=3) position mode.' This modifies account configuration settings on a…"

## Use case

AI agents use switchPositionMode to create or update resources in Bybit MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Bybit MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Bybit MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "switchPositionMode": {
      "limits": [
        {
          "counter": "switchpositionmode_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Bybit MCP Server (379)

- `batchCancelOrders` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/batchcancelorders.md
- `cancelAllOrders` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/cancelallorders.md
- `cancelAllQuotes` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/cancelallquotes.md
- `cancelAllRfqs` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/cancelallrfqs.md
- `cancelAllSpreadOrders` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/cancelallspreadorders.md
- `cancelOrder` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/cancelorder.md
- `cancelRfq` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/cancelrfq.md
- `cancelSpreadOrder` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/cancelspreadorder.md
- `closeComboBot` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/closecombobot.md
- `closeFGridBot` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/closefgridbot.md
- `closeFMartBot` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/closefmartbot.md
- `removeAd` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/removead.md
- `upgradeToUta` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/upgradetouta.md
- `wsBatchCancelOrders` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/wsbatchcancelorders.md
- `wsCancelOrder` — Destructive — https://policylayer.com/tools/bybit-exchange-trading-mcp/wscancelorder.md
- `acceptNonLpQuote` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/acceptnonlpquote.md
- `closeGridBot` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/closegridbot.md
- `confirmNewRiskLimit` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/confirmnewrisklimit.md
- `createComboBot` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/createcombobot.md
- `createTwapStrategy` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/createtwapstrategy.md
- `movePosition` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/moveposition.md
- `resetMmp` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/resetmmp.md
- `setTradingStop` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/settradingstop.md
- `stopStrategy` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/stopstrategy.md
- `stopSubscription` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/stopsubscription.md
- `wsAmendOrder` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/wsamendorder.md
- `wsBatchAmendOrders` — Execute — https://policylayer.com/tools/bybit-exchange-trading-mcp/wsbatchamendorders.md
- `accountBorrow` — Financial — https://policylayer.com/tools/bybit-exchange-trading-mcp/accountborrow.md
- `accountFixedBorrow` — Financial — https://policylayer.com/tools/bybit-exchange-trading-mcp/accountfixedborrow.md
- `accountNoConvertRepay` — Financial — https://policylayer.com/tools/bybit-exchange-trading-mcp/accountnoconvertrepay.md
- …and 349 more: https://policylayer.com/tools/bybit-exchange-trading-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=bybit-exchange-trading-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/bybit-exchange-trading-mcp
