Orderly Network public API
The public API from Orderly Network — 97 operation(s) for public.
The public API from Orderly Network — 97 operation(s) for public.
openapi: 3.0.1
info:
title: EVM admin public API
description: ''
version: 1.0.0
servers:
- url: https://api.orderly.org
description: Mainnet
- url: https://testnet-api.orderly.org
description: Testnet
tags:
- name: public
paths:
/v1/public/futures:
get:
summary: Get market info for all symbols
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/futures`
Get basic market information for all the symbols.
'
tags:
- public
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FuturesInfoResponse'
/v1/ip_info:
get:
summary: Get IP info
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/ip_info`
Returns the detected IP address and location metadata for the calling client.
'
tags:
- public
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetIpInfoResponse'
/v1/public/futures_market:
get:
summary: Get market volume by builder
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/futures_market`
Returns market-level trading volume data. Use `symbol` to filter by market and `broker_id` to filter by builder.
'
tags:
- public
parameters:
- name: symbol
in: query
description: Filter results to a specific market symbol, for example `PERP_ETH_USDC`.
required: false
schema:
type: string
- name: broker_id
in: query
description: Filter results to a specific broker ID.
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetMarketVolumeByBrokerResponse'
/v1/public/balance/stats:
get:
summary: Get TVL by builder
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/balance/stats`
Returns TVL (total balance plus unsettled PnL), optionally filtered by broker ID.
'
tags:
- public
parameters:
- name: broker_id
in: query
description: When omitted, returns TVL for all brokers.
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetTVLByBrokerResponse'
/v1/public/market_trades:
get:
summary: Get market trades
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/market_trades`
Get the latest market trades.
'
tags:
- public
parameters:
- name: symbol
in: query
description: Symbol to query, for example `PERP_BTC_USDC`.
required: true
example: PERP_NEAR_USDC
schema:
type: string
- name: limit
in: query
description: Numbers of trades want to query.
required: false
example: '10'
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/MarketTradesResponse'
/v1/public/market_info/price_changes:
get:
summary: Get price info for all symbols
deprecated: false
description: "\n**Limit: 10 requests per 1 second per IP address**\n\n`GET /v1/public/market_info/price_changes`\n\nReturn the current price and the price 5m, 30m, 1h, 24h, 3d, 7d, 30d ago for all symbols\n\nExamples:\n\n- Now: 11:06:30 (2024-07-11) \n\n- 5m: 11:01:00 (2024-07-11)\n\n- 30m: 10:36:00 (2024-07-11)\n\n- 1h: 10:06:00 (2024-07-11)\n\n- 4h: 07:06:00 (2024-07-11)\n\n- 24h: 11:06:00 (2024-07-10)\n\n- 3d: 00:00:00 (2024-07-08)\n\n- 7d: 00:00:00 (2024-07-04)\n\n- 30d: 00:00:00 (2024-06-11)\n"
tags:
- public
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/MarketPriceChangeInfoResponse'
/v1/public/market_info/traders_open_interests:
get:
summary: Get open interests for all symbols
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/market_info/traders_open_interests`
Return the long/short Open Interests for all symbols (mm accounts are excluded).
'
tags:
- public
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/MarketOpenInterestsResponse'
/v1/public/market_info/history_charts:
get:
summary: Get historical price list for all symbols
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/market_info/history_charts`
Return the close price for all symbols
'
tags:
- public
parameters:
- name: time_interval
in: query
description: ''
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetPriceForSmallChartsResponse'
/v1/public/market_info/funding_history:
get:
summary: Get funding rate for all markets
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/market_info/funding_history`
'
tags:
- public
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetMarketFundingRateHistoryResponse'
/v1/public/volume/stats:
get:
summary: Get builder volume
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/volume/stats`
Returns the latest trading volume statistics for Orderly and its associated builders. For a specific builder, volume is calculated as maker volume plus taker volume. Platform-wide volume counts each matched trade once.
'
tags:
- public
parameters:
- name: broker_id
in: query
description: Filter results to a specific broker ID.
required: false
example: test_broker
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VolumeStatsResponse'
/v1/public/broker/stats:
get:
summary: Get builder stats
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/broker/stats?broker_id={broker_id}`
Returns statistics for builders on Orderly. Use `broker_id` to limit the response to a single builder.
'
tags:
- public
parameters:
- name: broker_id
in: query
description: Filter results to a specific broker ID.
required: false
example: test_broker
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BrokerStatsResponse'
/v1/public/broker/name:
get:
summary: Get builder list
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/broker/name?broker_id={broker_id}`
Returns the list of builders currently onboarded to Orderly. Use `broker_id` to retrieve a single builder entry.
'
tags:
- public
parameters:
- name: broker_id
in: query
description: Filter results to a specific broker ID.
required: false
example: test_broker
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BrokerListResponse'
/v1/public/funding_rates:
get:
summary: Get predicted funding rates for all markets
deprecated: false
description: "\n**Limit: 10 requests per 1 second per IP address**\n\n`GET /v1/public/funding_rates`\n\nGet predicted funding rates for all futures trading pairs.\n\nGet the : \n* `last_funding_rate` : latest hourly funding rate for all the markets for the last funding period (dt = 8h)\n* `est_funding_rate` : rolling average of all funding rates over the last 8 hours"
tags:
- public
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FundingRatesResponse'
/v1/public/funding_rate/{symbol}:
get:
summary: Get predicted funding rate for one market
deprecated: false
description: '
**Limit: 30 requests per 1 second per IP address**
`GET /v1/public/funding_rate/{symbol}`
Get latest funding rate for one market.
'
tags:
- public
parameters:
- name: symbol
in: path
description: ''
required: true
example: PERP_ETH_USDC
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FundingRateResponse'
/v1/public/funding_rate_history:
get:
summary: Get funding rate history for one market
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/funding_rate_history`
Get funding rate history for one market.
'
tags:
- public
parameters:
- name: symbol
in: query
description: ''
required: true
example: PERP_NEAR_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: number
- 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: 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: 'Default: 60'
required: false
example: ''
schema:
type: number
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FundingRateHistoryResponse'
/v1/public/futures/{symbol}:
get:
summary: Get market info for one symbol
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/futures/{symbol}`
Get basic market information for one trading pair.
'
tags:
- public
parameters:
- name: symbol
in: path
description: ''
required: true
example: PERP_ETH_USDC
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/FuturesInfoResponse'
/v1/public/liquidation:
get:
summary: Get positions under liquidation
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/liquidation`
Returns a list of positions that are currently being liquidated. These are positions where the margin has dropped below the maintenance margin requirement and are in the process of being closed by the liquidation engine.
'
tags:
- public
parameters:
- 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: number
- 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: number
- name: page
in: query
description: the page you wish to query. start from 1
required: false
example: ''
schema:
type: integer
- name: size
in: query
description: 'Default: 60'
required: false
example: ''
schema:
type: integer
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LiquidationResponse'
/v1/public/liquidated_positions:
get:
summary: Get liquidated positions info
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/liquidated_positions`
Returns a list of positions that have been fully liquidated. This includes historical data on positions that were closed by the liquidation engine after margin was exhausted.
'
tags:
- public
parameters:
- name: symbol
in: query
description: Filter results to a specific trading symbol, for example `PERP_ETH_USDC`.
required: false
example: PERP_ETH_USDC
schema:
type: string
- name: start_t
in: query
description: Start time of the query range as a 13-digit Unix timestamp in milliseconds.
required: false
example: ''
schema:
type: string
- name: end_t
in: query
description: End time of the query range as a 13-digit Unix timestamp in milliseconds.
required: false
example: ''
schema:
type: string
- name: page
in: query
description: Page number to return. Starts from 1.
required: false
example: ''
schema:
type: string
- name: size
in: query
description: Number of records to return per page.
required: false
example: ''
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/LiquidatedPositionsResponse'
/v1/public/info/{symbol}:
get:
summary: Get order rules per symbol
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/info/{symbol}`
This endpoint provides all the values for the rules that an order need
to fulfil in order for it to be placed successfully. The rules are
defined as follows:
Price filter
- `price` >= `quote_min`
- `price` =< `quote_max`
- `(price - quote_min) % quote_tick` should equal to zero
- `price` =< `mark_price * (1 + price_range)` when BUY
- `price` >= `mark_price * (1 - price_range)` when SELL
Size filter
- `base_min` =< `quantity` =< `base_max`
- `(quantity - base_min) % base_tick` should equal to zero
Min Notional filter
- `price * quantity` should greater than `min_notional`
Risk Exposure filer
- Order size should be within holding threshold. See
[account_info](/docs/build-on-omnichain/restful-api/private/get-account-information)
'
tags:
- public
parameters:
- name: symbol
in: path
description: ''
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeInformationResponse'
/v1/public/token:
get:
summary: Get supported collateral info
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/token`
Retrieves the available tokens to be used as collateral within Orderly.
'
tags:
- public
parameters:
- name: chain_id
in: query
description: Filter results by chain_id
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TokenInfoResponse'
/v1/public/info:
get:
summary: Get available symbols
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/info`
Get available symbols that Orderly supports, and also send order rules for each symbol. The definition of rules can be found at [Get Order Rules per Market](/docs/build-on-omnichain/restful-api/public/get-order-rules-per-symbol)
'
tags:
- public
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableSymbolsResponse'
/v1/public/index_price_source:
get:
summary: Get index price source
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/index_price_source`
Retrieves the available tokens to be used as collateral within Orderly.
'
tags:
- public
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetIndexPriceSourceResponse'
/v1/public/insurancefund:
get:
summary: Get insurance fund info
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/insurancefund`
Returns the current balance and risk metrics for the Orderly insurance fund.
'
tags:
- public
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/InsuranceFundResponse'
/v1/tv/config:
get:
summary: Get tradingview localized config info
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/tv/config`
'
tags:
- public
parameters:
- name: locale
in: query
description: ''
required: true
example: ''
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TvConfigResponse'
/v1/tv/history:
get:
summary: Get tradingview history bars
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/tv/history?symbol={}&resolution={}&from={}&to={}`
'
tags:
- public
parameters:
- name: symbol
in: query
description: ''
required: true
example: ''
schema:
type: string
- name: resolution
in: query
description: ''
required: true
example: ''
schema:
type: string
- name: from
in: query
description: ''
required: true
example: ''
schema:
type: string
- name: to
in: query
description: ''
required: true
example: ''
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TvHistoryResponse'
/v1/tv/symbol_info:
get:
summary: Get tradingview symbol info
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/tv/symbol_info`
'
tags:
- public
parameters:
- name: group
in: query
description: ''
required: true
example: ''
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TvSymbolResponse'
/v1/public/leverage:
get:
summary: Get max leverage setting
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/leverage`
Get max leverage setting
'
tags:
- public
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetLeverageSettingResponse'
/v1/public/system_info:
get:
summary: Get system maintenance status
deprecated: false
description: '**Limit: 1 request per 1 second per IP address**
`GET /v1/public/system_info`
Returns the current system status for Orderly. `status = 0` indicates normal operation. `status = 2` indicates maintenance mode.'
tags:
- public
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SystemInfoResponse'
/v1/registration_nonce:
get:
summary: Get registration nonce
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/registration_nonce`
Retrieve a nonce used for registering an account on Orderly. The validity of the nonce value is `2` minutes. Each nonce can only be used once (ie for one account).'
tags:
- public
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationNonceResponse'
/v1/get_account:
get:
summary: Check if wallet is registered
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/get_account`
Check whether a wallet has a registered account with the provided builder ID.
'
tags:
- public
parameters:
- name: address
in: query
description: The address of the user wallet
required: true
example: ''
schema:
type: string
- name: broker_id
in: query
description: Builder ID to check for the wallet address.
required: true
example: ''
schema:
type: string
- name: chain_type
in: query
description: '`EVM` or `SOL`'
required: false
example: EVM
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetAccountResponse'
/v1/get_all_accounts:
get:
summary: Check account details of an address
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/get_all_accounts`
Returns all accounts associated with the provided wallet address and builder ID.
'
tags:
- public
parameters:
- name: address
in: query
description: The address of the user wallet
required: true
example: ''
schema:
type: string
- name: broker_id
in: query
description: Builder ID whose accounts should be returned.
required: true
example: ''
schema:
type: string
- name: chain_type
in: query
description: '`EVM` or `SOL`'
required: false
example: EVM
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetAllAccountsResponse'
/v1/get_broker:
get:
summary: Check if address is registered
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/get_broker`
Checks whether an address is already registered and returns the associated builder IDs.
'
tags:
- public
parameters:
- name: address
in: query
description: Wallet address to check.
required: true
example: ''
schema:
type: string
- name: chain_type
in: query
description: '`EVM` or `SOL`'
required: false
example: EVM
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetBrokerResponse'
/v1/register_account:
post:
summary: Register account
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`POST /v1/register_account`
Registers a new account for the provided wallet under the specified builder.
'
tags:
- public
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterAccountBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterAccountResponse'
/v1/get_orderly_key:
get:
summary: Get Orderly key
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/get_orderly_key`
Check the validity of an Orderly access key attached to the account.
'
tags:
- public
parameters:
- name: account_id
in: query
description: The account id of the user.
required: true
example: ''
schema:
type: string
- name: orderly_key
in: query
description: The public key of the Orderly access key.
required: true
example: ''
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrderlyKeyResponse'
/v1/orderly_key:
post:
summary: Add Orderly key
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`POST /v1/orderly_key`
Adds an orderly key to an account.
A main account''s orderly key can manage its sub accounts.
'
tags:
- public
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrderlyKeyBody'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderlyKeyResponse'
/v1/public/config:
get:
summary: Get leverage configuration
deprecated: false
description: '
**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/config`
Returns the leverage configuration available to users on Orderly.
'
tags:
- public
parameters: []
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigResponse'
/v1/public/chain_info:
get:
summary: Get supported chains per builder
deprecated: false
description: '**Limit: 10 requests per 1 second per IP address**
`GET /v1/public/chain_info`
Returns the chains supported by the specified builder. When `broker_id` is omitted, the response includes all supported chains.
'
tags:
- public
parameters:
- name: broker_id
in: query
description: Filter results to a specific broker ID.
required: false
example: woofi_pro
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ChainInfoResponse'
/v1/kline:
get:
summary: Get kline
deprecated: false
description: '
**Limit: 10 requests per 1 second**
`GET /v1/kline`
Get the latest klines (OHLC) of the specified symbol.
Please note that for symbols with low trading activity, the kline might be generated through the mid price of the orderbook in addition to any executed trades on the platform.
'
tags:
- public
parameters:
- name: symbol
in: query
description: ''
required: true
example: PERP_BTC_USDC
schema:
type: string
- name: type
in: query
description: 1m/5m/15m/30m/1h/4h/12h/1d/1w/1mon/1y
required: true
example: ''
schema:
type: string
- name: limit
in: query
description: Numbers of klines. Maximum of 1000 klines.
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/KlineResponse'
/v1/tv/kline_history:
get:
summary: Get kline history
deprecated: false
description: '
**Limit: 5 request per 10 second per IP address**
`GET /v1/tv/kline_history`
Get the historical klines of the specified symbol
'
tags:
- public
parameters:
- name: symbol
in: query
description: Symbol name
required: true
example: PERP_BTC_USDC
schema:
type: string
- name: resolution
in: query
description: '`1m/5m/15m/30m/1h/4h/12h/1d/1w/1mon`'
required: true
example: 1d
schema:
type: string
- name: from
in: query
description: If the range
# --- truncated at 32 KB (215 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/orderly-network/refs/heads/main/openapi/orderly-network-public-api-openapi.yml