Orderly Network private API

The private API from Orderly Network — 137 operation(s) for private.

Operations 149

POST /v1/client/add_sub_account Add sub account
GET /v1/client/sub_account Get sub account list
POST /v1/client/update_sub_account Update sub account
GET /v1/client/aggregate/positions Get aggregate positions
GET /v1/client/aggregate/holding Get aggregate holding
POST /v1/sub_account_settle_pnl Settle sub account PnL
GET /v1/positions Get all positions info
GET /v1/positions_lite Get lite positions info
GET /v1/position/{symbol} Get one position info
GET /v1/position_history Get position history
GET /v1/funding_fee/history Get funding fee history
GET /v1/client/leverage Get leverage setting
GET /v1/client/leverages Get all leverage settings
POST /v1/client/leverages Update leverage setting
GET /v1/liquidations Get liquidated positions of account
POST /v1/liquidation Claim liquidated positions
GET /v1/client/liquidator_liquidations Get liquidated positions by liquidator
POST /v1/order Create order
DELETE /v1/order Cancel order
PUT /v1/order Edit order
GET /v1/order/{order_id} Get order by order_id
GET /v1/trades Get trades
GET /v1/client/holding Get current holding
GET /v1/account_info Get account overview info
POST /v1/client/margin_mode Update margin mode
POST /v1/position_margin Add or reduce position margin
GET /v1/client/margin_modes Get margin modes
GET /v1/client/info Get account information
GET /v1/orders Get orders
DELETE /v1/orders Cancel all pending orders
GET /v1/client/statistics Get user statistics
GET /v1/asset/history Get asset history
GET /v1/client/asset/receiver_address Get receiver address
GET /v1/client/asset/receiver_events Get receiver events
POST /v1/claim_insurance_fund Claim insurance fund
POST /v1/client/remove_orderly_key Remove Orderly key
POST /v1/order/cancel_all_after Cancel all after
POST /v1/batch-order Batch create order
DELETE /v1/batch-order Batch cancel orders
DELETE /v1/client/order Cancel order by client_order_id
DELETE /v1/client/batch-order Batch cancel orders by client_order_id
GET /v1/client/order/{client_order_id} Get order by client_order_id
GET /v1/orderbook/{symbol} Orderbook snapshot
GET /v1/order/{order_id}/trades Get all trades of specific order
GET /v1/trade/{trade_id} Get trade
POST /v1/client/maintenance_config Configure auto-cancel during maintenance
GET /v1/volume/user/stats Get user volume statistics
GET /v1/volume/user/daily Get user daily volume
GET /v1/withdraw_nonce Get withdrawal nonce
GET /v1/settle_nonce Get settle PnL nonce
POST /v1/withdraw_request Create withdraw request
POST /v1/settle_pnl Request PnL settlement
GET /v1/pnl_settlement/history Get PnL settlement history
POST /v1/internal_transfer Create internal transfer
POST /v2/internal_transfer Create internal transfer with wallet signature
GET /v1/transfer_nonce Get transfer nonce
GET /v1/internal_transfer_history Get internal transfer history
GET /v1/client/key_info Get current Orderly key info
GET /v1/client/orderly_key_ip_restriction Get Orderly key IP restriction
POST /v1/client/set_orderly_key_ip_restriction Set Orderly key IP restriction
POST /v1/client/reset_orderly_key_ip_restriction Reset Orderly key IP restriction
GET /v1/notification/inbox/notifications Get all notifications
GET /v1/notification/inbox/unread Get unread notifications
POST /v1/notification/inbox/mark_read Set read status of notifications
POST /v1/notification/inbox/mark_read_all Set read status of all notifications
POST /v1/algo/order Create algo order
PUT /v1/algo/order Edit algo order
DELETE /v1/algo/order Cancel algo order
DELETE /v1/algo/client/order Cancel algo order by client_order_id
DELETE /v1/algo/orders Cancel all pending algo orders
GET /v1/algo/orders Get algo orders
GET /v1/algo/order/{order_id} Get algo order by order_id
GET /v1/algo/client/order/{client_order_id} Get algo order by client_order_id
GET /v1/algo/order/{order_id}/trades Get all trades of specific algo order
GET /v1/volume/broker/daily Get builder's users' volumes
GET /v1/broker/leaderboard/daily Get builder's leaderboard
GET /v1/broker/broker_info Get builder fee tier information
GET /v1/broker/daily_fee_revenue Get builder's daily revenue settlement history
GET /v1/client/statistics/daily Get user daily statistics
GET /v1/broker/user_info Get user fee rates
POST /v1/broker/fee_rate/set Update user fee rate
POST /v1/broker/fee_rate/set_default Reset user fee rate
POST /v1/broker/fee_rate/default Update default builder fee
GET /v1/broker/fee_rate/default Get default builder fee
POST /v1/referral/create Create referral code
GET /v1/referral/admin_info Get referral code info
POST /v1/referral/update Update referral code
POST /v1/referral/bind Bind referral code
GET /v1/referral/info Get referral info
GET /v1/referral/referral_history Get referral history
GET /v1/referral/rebate_summary Get referral rebate summary
GET /v1/referral/referee_history Get referee history
GET /v1/referral/referee_info Get referee info
GET /v1/referral/referee_rebate_summary Get referee rebate summary
POST /v1/referral/edit_split Edit referral code split
POST /v1/referral/auto_referral/update Builder admin update auto referral
GET /v1/referral/auto_referral/info Builder admin get auto referral info
GET /v1/referral/auto_referral/progress Get auto referral progress
POST /v1/referral/edit_referral_code Edit referral code
GET /v1/referral/multi_level/max_rebate_rate Get max rebate rate
POST /v1/referral/multi_level/claim_code Claim referral code
GET /v1/referral/multi_level/rebate_info Get rebate info
POST /v1/referral/multi_level/rebate_rate/update Update referee rebate rate
POST /v1/referral/multi_level/rebate_rate/set_default Reset referee rebate rate
GET /v1/referral/multi_level/statistics Get multilevel statistics
GET /v1/referral/multi_level/referee_list Get referee list
GET /v1/referral/multi_level/volume_prerequisite Get volume prerequisite
POST /v1/referral/multi_level/admin Enable or configure multilevel referral
GET /v1/referral/multi_level/admin Get multilevel referral config
POST /v1/referral/multi_level/admin/update Update multilevel referral config
POST /v1/referral/multi_level/admin/update/affiliate Update L1 affiliate rebate rate
POST /v1/referral/multi_level/admin/reset/affiliate Reset L1 affiliate rebate rate
GET /v1/referral/multi_level/admin/info Get multilevel info
GET /v1/referral/multi_level/admin/referee_list Get admin referee list
GET /v1/referral/multi_level/admin/summary Get multilevel summary info
POST /v1/referral/multi_level/admin/create/affiliate Create multilevel referral code on affiliate's behalf
GET /v1/admin/points/stage Get stage parameters
POST /v1/admin/points/stage Create/update stage parameters
POST /v1/delegate_withdraw_request Delegate signer withdraw request
POST /v1/delegate_settle_pnl Delegate signer settle PnL
GET /v1/client/distribution_history Get distribution history
POST /v1/client/campaign/sign_up Sign up campaign
GET /v1/staking/balance Get wallet's current staked balance
GET /v1/staking/unstake_details Get unstaking order details
GET /v1/staking/valor2/redeem Get valor2 redeem info
GET /v1/staking/valor/redeem Get valor redeem info
GET /v1/staking/esorder/vesting_list Get esorder vesting list
POST /v1/sv/sp_orderly_key Add SP Orderly key
POST /v1/sv/sp_settle_pnl Request SP PnL settlement
POST /v1/sv/manual_period_delivery Trigger manual period delivery
GET /v1/admin/client/info Get account information
GET /v1/admin/client/holding Get current holding
GET /v1/admin/internal_transfer_history Get internal transfer history
GET /v1/admin/asset/history Get asset history
GET /v1/admin/client/leverage Get leverage setting
GET /v1/admin/orders Get orders
GET /v1/admin/position/{symbol} Get one position info
GET /v1/admin/positions Get all positions info
GET /v1/admin/funding_fee/history Get funding fee history
GET /v1/admin/volume/user/stats Get user volume statistics
GET /v1/admin/liquidations Get liquidated positions (admin)
GET /v1/admin/algo/orders Get algo orders (admin)
GET /v1/admin/trades Get trades (admin)
POST /v1/broker/order_enum Create order tag
PUT /v1/broker/order_enum/{enum_id} Update order tag
GET /v1/broker/order_enum/{enum_id} Get single order tag with stats
GET /v1/broker/order_enums List all order tags for a builder
POST /v1/broker/order_enum/archive Archive an order tag
POST /v1/broker/order_enum/unarchive Unarchive an order tag

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/orderly-network-private-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

orderly-network-private-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: EVM Private API
  description: ''
  version: 1.0.0
servers:
- url: https://api.orderly.org
  description: Mainnet
- url: https://testnet-api.orderly.org
  description: Testnet
tags:
- name: private
paths:
  /v1/client/add_sub_account:
    post:
      summary: Add sub account
      description: '**Limit: 10 requests per second**


        `POST /v1/client/add_sub_account`


        Only the main account is allowed to call this API.


        Main account’s Orderly key can control sub accounts.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddSubAccountResponse'
  /v1/client/sub_account:
    get:
      summary: Get sub account list
      description: '**Limit: 10 requests per second**


        `GET /v1/client/sub_account`


        Only the main account is allowed to call this API.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubAccountResponse'
  /v1/client/update_sub_account:
    post:
      summary: Update sub account
      description: '**Limit: 10 requests per second**


        `POST /v1/client/update_sub_account`


        Only the main account is allowed to call this API.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              required:
              - sub_account_id
              type: object
              properties:
                sub_account_id:
                  type: string
                description:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResponse'
  /v1/client/aggregate/positions:
    get:
      summary: Get aggregate positions
      description: '

        **Limit: 1 request per 60 seconds**


        `GET /v1/client/aggregate/positions`


        Only the main account is allowed to call this API.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AggregatePositionsResponse'
  /v1/client/aggregate/holding:
    get:
      summary: Get aggregate holding
      description: '

        **Limit: 1 request per 60 seconds**


        `GET /v1/client/aggregate/holding`


        Only the main account is allowed to call this API.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AggregateHoldingResponse'
  /v1/sub_account_settle_pnl:
    post:
      summary: Settle sub account PnL
      description: '**Limit: 10 requests per second**


        `POST /v1/sub_account_settle_pnl`


        Main account’s Orderly key can control sub accounts.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - name: orderly_account_id
        in: header
        description: account_id in header can only be sub_account
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              required:
              - settle_nonce
              type: object
              properties:
                settle_nonce:
                  type: number
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettlePnlResponse'
  /v1/positions:
    get:
      summary: Get all positions info
      deprecated: false
      description: '**Limit: 30 requests per 10 second per user**


        `GET /v1/positions`

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PositionsResponse'
  /v1/positions_lite:
    get:
      summary: Get lite positions info
      deprecated: false
      description: '**Limit: 10 requests per 1 second**


        `GET /v1/positions_lite`


        Get lightweight positions information.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PositionsLiteResponse'
  /v1/position/{symbol}:
    get:
      summary: Get one position info
      deprecated: false
      description: '**Limit: 30 requests per 10 second per user**


        `GET /v1/position/{symbol}`

        '
      tags:
      - private
      parameters:
      - name: symbol
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: margin_mode
        in: query
        description: 'Default: `CROSS`. Supported values: `CROSS`/`ISOLATED`'
        required: false
        schema:
          type: string
          enum:
          - CROSS
          - ISOLATED
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PositionResponse'
  /v1/position_history:
    get:
      summary: Get position history
      deprecated: false
      description: '**Limit: 10 requests per 1 second per user**


        `GET /v1/position_history`

        '
      tags:
      - private
      parameters:
      - name: symbol
        in: query
        description: ''
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: ''
        required: true
        schema:
          type: number
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PositionHistoryResponse'
  /v1/funding_fee/history:
    get:
      summary: Get funding fee history
      deprecated: false
      description: '**Limit: 20 requests per 60 second per user**


        `GET /v1/funding_fee/history`


        Get funding fee history.

        '
      tags:
      - private
      parameters:
      - name: symbol
        in: query
        description: omit to get funding fee history for all symbols
        required: false
        example: PERP_ETH_USDC
        schema:
          type: string
      - name: start_t
        in: query
        description: start time range that you wish to query, noted that the time stamp is a 13-digits timestamp.
        required: false
        example: ''
        schema:
          type: string
      - name: end_t
        in: query
        description: end time range that you wish to query, noted that the time stamp is a 13-digits timestamp.
        required: false
        example: ''
        schema:
          type: string
      - name: page
        in: query
        description: the page you wish to query. start from 1
        required: false
        example: ''
        schema:
          type: string
      - name: size
        in: query
        description: 'Default: 60'
        required: false
        example: ''
        schema:
          type: string
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FundingFeeHistoryResponse'
  /v1/client/leverage:
    get:
      summary: Get leverage setting
      deprecated: false
      description: '**Limit: 1 requests per 1 second per IP address**


        `GET /v1/client/leverage`


        Get account''s leverage setting for a specific symbol.

        '
      tags:
      - private
      parameters:
      - name: symbol
        in: query
        description: ''
        required: true
        example: PERP_BTC_USDC
        schema:
          type: string
      - name: margin_mode
        in: query
        description: 'Default: `CROSS`. Supported values: `CROSS`/`ISOLATED`'
        required: false
        schema:
          type: string
          enum:
          - CROSS
          - ISOLATED
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeverageResponse'
  /v1/client/leverages:
    get:
      summary: Get all leverage settings
      deprecated: false
      description: '`GET /v1/client/leverages`


        Get leverage settings for all symbols.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeveragesResponse'
    post:
      summary: Update leverage setting
      deprecated: false
      description: "**Limit: 5 requests per 60 second per user**\n\n`POST /v1/client/leverages`\n\nUpdate leverage settings. This endpoint supports two modes:\n\n**Single symbol mode:** When `symbol` is provided, update leverage for that specific symbol.\n\n**Batch mode:** When `symbol` is omitted, set leverage for all symbols in a single atomic operation. Each symbol's new leverage will be adjusted to `min(requested_leverage, symbol_max_leverage)`.\n\nFor example, if BTC max leverage is 100, ETH max leverage is 100, and NEAR max leverage is 10, and the user requests leverage = 20, the result will be: BTC = 20, ETH = 20, NEAR = 10.\n\nBatch update behavior with margin modes:\n- **Cross margin symbols:** A margin check is performed assuming all cross-margin symbols are updated to the new leverage. Either all cross-margin symbol leverages are updated successfully, or none are updated.\n- **Isolated margin symbols:** The leverage update will only apply to symbols with no active isolated positions or pending orders. The update for isolated margin symbols will always go through for eligible symbols.\n\nValidation Logic:\n\n1. Check the leverage range is eligible\n\n2. Check if the position notional under the updated leverage is acceptable\n   - `max_notional = (1 / (symbol_leverage * imr_factor)) ^ (1/0.8)`\n   - `symbol_leverage_max = round down to int → min(1 / (imr_factor * notional ^ 0.8), 1/base_imr)`\n\n3. Check if the margin is enough\n"
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                symbol:
                  type: string
                  example: PERP_BTC_USDC
                leverage:
                  type: integer
                  description: Integer between 1 to 100
                margin_mode:
                  type: string
                  description: 'Default: `CROSS`. Margin mode for the leverage update.'
                  enum:
                  - CROSS
                  - ISOLATED
              required:
              - leverage
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeverageResponse'
  /v1/liquidations:
    get:
      summary: Get liquidated positions of account
      deprecated: false
      description: '**Limit: 10 requests per 1 second per IP address**


        `GET /v1/liquidations`

        '
      tags:
      - private
      parameters:
      - name: symbol
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: string
      - name: start_t
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: number
      - name: end_t
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: number
      - name: page
        in: query
        description: start from 1
        required: false
        example: ''
        schema:
          type: number
      - name: size
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: number
      - name: sort_by
        in: query
        description: '`liquidation_id`/`time`'
        required: false
        example: ''
        schema:
          type: string
      - name: liquidation_id
        in: query
        description: return the designed liquidation_id only
        required: false
        example: ''
        schema:
          type: number
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiquidationsResponse'
  /v1/liquidation:
    post:
      summary: Claim liquidated positions
      deprecated: false
      description: '**Limit: 5 requests per 1 second**


        `POST /v1/liquidation`

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiquidationBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostLiquidationResponse'
  /v1/client/liquidator_liquidations:
    get:
      summary: Get liquidated positions by liquidator
      deprecated: false
      description: '**Limit: 10 requests per 1 second per IP address**


        `GET /v1/client/liquidator_liquidations`

        '
      tags:
      - private
      parameters:
      - name: symbol
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: string
      - name: start_t
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: number
      - name: end_t
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: number
      - name: page
        in: query
        description: start from 1
        required: false
        example: ''
        schema:
          type: number
      - name: size
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: number
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiquidatorLiquidationsResponse'
  /v1/order:
    post:
      summary: Create order
      deprecated: false
      description: '**Limit: 10 requests per 1 second**


        `POST /v1/order`


        Place order maker/taker, the order executed information will be update from websocket stream.

        will response immediately with an order created message.


        `MARKET` type order behavior: it matches until the full size is executed. If the size is too large (larger than whole book) or the matching price exceeds the price limit (refer to `price_range`), then the remaining quantity will be cancelled.


        `IOC` type order behavior: it matches as much as possible at the order_price. If not fully executed, then remaining quantity will be cancelled.


        `FOK` type order behavior: if the order can be fully executed at the order_price then the order gets fully executed otherwise would be cancelled without any execution.


        `POST_ONLY` type order behavior: if the order will be executed with any maker trades at the time of placement, then it will be cancelled without any execution. If a `POST_ONLY` order would match only with hidden quantity at the price level, the incoming `POST_ONLY` order is treated as the maker side for that execution and the resting hidden order is treated as the taker side.


        `ASK` type order behavior: the order price is guranteed to be the best ask price of the orderbook at the time it gets accepted.


        `BID` type order behavior: the order price is guranteed to be the best bid price of the orderbook at the time it gets accepted.


        `visible_quantity` behavior: it sets the maximum quantity to be shown on orderbook. By default, it is equal to order_quantity, negative number and number larger than `order_quantity` is not allowed. If it sets to 0, the order would be hidden from the orderbook. It doesn''t work for `MARKET`/`IOC`/`FOK` orders since orders with these types would be executed and cancelled immediately and not be shown on orderbook. For `LIMIT` order, as long as it''s not complete, `visible_quantity` is the maximum quantity that shown on orderbook. When hidden quantity is matched by a new incoming order, the hidden side is marked as taker and charged the taker fee. If an order has both hidden and visible quantity, the hidden quantity is matched before the visible quantity.


        `order_quantity` are provided. The precision of the number should be within 8 digits.


        `client_order_id` behavior: customized order_id, a unique id among open orders. Orders with the same `client_order_id` can be accepted only when the previous one if completed, otherwise the order will be rejected.


        Note: This endpoint requires `trading` scope in orderly key.'
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      - $ref: '#/components/parameters/recv_window_header'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostOrderBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostOrderResponse'
    delete:
      summary: Cancel order
      deprecated: false
      description: '**Limit: 10 requests per 1 second**


        `DELETE /v1/order?order_id={order_id}&symbol={symbol}`


        Cancels a single order by `order_id`.


        Note: This endpoint requires `trading` scope in orderly key.

        '
      tags:
      - private
      parameters:
      - name: symbol
        in: query
        description: ''
        required: true
        example: ''
        schema:
          type: string
      - name: order_id
        in: query
        description: ''
        required: true
        example: ''
        schema:
          type: number
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteOrderResponse'
    put:
      summary: Edit order
      deprecated: false
      description: '**Limit: 10 request per 1 second**


        `PUT /v1/order`


        Edit a pending order by `order_id`. Only the `order_price` or `order_quantity` can be amended.


        Note: This endpoint requires `trading` scope in orderly key.'
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutOrderResponse'
  /v1/order/{order_id}:
    get:
      summary: Get order by order_id
      deprecated: false
      description: '**Limit: 10 requests per 1 second**


        `GET /v1/order/{order_id}`


        Get details of a single order by `order_id`.

        '
      tags:
      - private
      parameters:
      - name: order_id
        in: path
        description: id of the order
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
  /v1/trades:
    get:
      summary: Get trades
      deprecated: false
      description: '**Limit: 10 requests per 1 second**


        `GET /v1/trades`


        Return client''s trades history within a time range.


        Only return the latest 500 entries.

        '
      tags:
      - private
      parameters:
      - name: symbol
        in: query
        description: ''
        required: false
        example: ''
        schema:
          type: string
      - name: start_t
        in: query
        description: start time range that wish to query, noted the time stamp is 13-digits timestamp.
        required: false
        example: ''
        schema:
          type: number
      - name: end_t
        in: query
        description: end time range that wish to query, noted the time stamp is 13-digits timestamp.
        required: false
        example: ''
        schema:
          type: number
      - name: page
        in: query
        description: the page you wish to query. start from 1
        required: false
        example: ''
        schema:
          type: number
      - name: size
        in: query
        description: 'the page size you wish to query. (max: 500)'
        required: false
        example: ''
        schema:
          type: number
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradesResponse'
  /v1/client/holding:
    get:
      summary: Get current holding
      deprecated: false
      description: '**Limit: 10 requests per 1 seconds**


        `GET /v1/client/holding`


        Get the current summary of user token holdings.

        '
      tags:
      - private
      parameters:
      - name: all
        in: query
        description: true/false. If true then will return all token even if balance is empty.
        required: false
        example: ''
        schema:
          type: boolean
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientHoldingResponse'
  /v1/account_info:
    get:
      summary: Get account overview info
      deprecated: false
      description: '**Limit: 10 requests per 1 second per user**


        `GET /v1/account_info`


        Returns account-level collateral, margin, and PnL overview metrics for the authenticated account.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountInfoResponse'
  /v1/client/margin_mode:
    post:
      summary: Update margin mode
      deprecated: false
      description: '**Limit: 10 requests per 1 second per user**


        `POST /v1/client/margin_mode`


        Update the default margin mode for a specific symbol. Switching a symbol''s margin mode is only possible when you have no open positions or pending orders on that symbol in the current mode.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                symbol:
                  type: string
                  description: Symbol to update margin mode for
                  example: PERP_BTC_USDC
                default_margin_mode:
                  type: string
                  description: Target margin mode
                  enum:
                  - CROSS
                  - ISOLATED
                  example: ISOLATED
              required:
              - symbol
              - default_margin_mode
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResponse'
  /v1/position_margin:
    post:
      summary: Add or reduce position margin
      deprecated: false
      description: '**Limit: 10 requests per 1 second per user**


        `POST /v1/position_margin`


        Add or reduce margin for an existing isolated margin position. This allows you to adjust the margin allocated to a specific isolated position after it has been opened.


        - `ADD`: Transfer margin from your available balance to the isolated position, lowering the liquidation price.

        - `REDUCE`: Transfer margin from the isolated position back to your available balance, raising the liquidation price.


        **Prerequisites:** You must have an open isolated position on the specified symbol.


        Note: This endpoint requires `trading` scope in orderly key.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                symbol:
                  type: string
                  description: Symbol of the isolated position
                  example: PERP_ETH_USDC
                amount:
                  type: string
                  description: Amount of margin to add or reduce
                  example: '3'
                type:
                  type: string
                  description: Operation type
                  enum:
                  - ADD
                  - REDUCE
                  example: ADD
              required:
              - symbol
              - amount
              - type
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicResponse'
  /v1/client/margin_modes:
    get:
      summary: Get margin modes
      deprecated: false
      description: '**Limit: 10 requests per 1 second per user**


        `GET /v1/client/margin_modes`


        Get default margin mode for all symbols.

        '
      tags:
      - private
      parameters:
      - $ref: '#/components/parameters/orderly_timestamp'
      - $ref: '#/components/parameters/orderly_account_id'
      - $ref: '#/components/parameters/orderly_key'
      - $ref: '#/components/parameters/orderly_signature'
      respo

# --- truncated at 32 KB (352 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/orderly-network/refs/heads/main/openapi/orderly-network-private-api-openapi.yml