Docs
Launch App

Pangolin Overview

Introduction to Pangolin
Audits
Tokens & Governance
Official Links & Communities
Become a Partner
Support
Roadmap
Privacy Policy & Legal Notices

Guides

Swapping Tokens
Providing Liquidity
Managing Liquidity Positions
Withdrawing Liquidity
Earning Rewards
Understanding SAR

Developers

Contracts & Integration Reference
APIs
Bug Bounty
Token Listing
Create A Multisig
Honeycomb↗

PangoPerps

API fundamentals
Public Info API
User API
Trading API
Order Management
Create Order
Batch Create Order
Cancel Order
Cancel Algo Order
Cancel Order by Client Order ID
Edit Order
Edit Algo Order
Cancel Algo Order by Client Order ID
Cancel All Pending Algo Orders
Cancel All Pending Orders
Cancel All After
Batch Cancel Orders
Batch Cancel Orders by Client Order ID
Get Order by Order ID
Get Order by Client Order ID
Create Algo Order
Get Algo Order by Order ID
Get Algo Order by Client Order ID
Get Orders
Get Algo Orders
Get Trades
Get Trade
Get Trades for an Order
Get Trades for an Algo Order
List PangoPerps Order Tags
Get One PangoPerps Order Tag
Liquidations
Assets/withdraw/settle PnL
Positions
Funding
PangoPerpsTrading APIOrder Management

Get Algo Orders

Search and paginate algorithmic orders using status, trigger, market, time, and tag filters.

#Endpoint

GET /v1/algo/orders

Mainnet: https://api.orderly.org/v1/algo/orders

Testnet: https://testnet-api.orderly.org/v1/algo/orders

Rate limit: 5 requests per second.

Returns algorithmic orders that match the supplied filters. The page parameter starts at 1 and size can be up to 500.

#Authentication

Send the signed-request headers. The header names are protocol fields and must remain exactly as shown.

  • orderly-timestamp — required; signed-request timestamp in milliseconds.
  • orderly-account-id — required; authenticated account ID.
  • orderly-key — required; public API key.
  • orderly-signature — required; signature generated for the request.

#Query parameters

  • symbol (string, optional) — market to filter, such as PERP_NEAR_USDC.
  • order_type (string, optional) — filter by LIMIT or MARKET.
  • status (string, optional) — one of NEW, CANCELLED, PARTIAL_FILLED, FILLED, REJECTED, INCOMPLETE, or COMPLETED. INCOMPLETE groups NEW and PARTIAL_FILLED; COMPLETED groups CANCELLED and FILLED.
  • order_tag (string, optional) — match the full stored tag. Current custom-fee tags use enum:<owning_broker_id>:<enum_id>; for PangoPerps use enum:pangoperps:GRID_PRO. Historical records may contain the legacy enum:<enum_id> form; keep the stored value unchanged. Maximum length: 128 characters.
  • start_t and end_t (number, optional) — time-range boundaries expressed as 13-digit Unix timestamps in milliseconds.
  • page (number, optional) — page number, starting at 1.
  • size (number, optional) — number of records per page; maximum 500.
  • side (string, optional) — BUY or SELL.
  • algo_type (string, optional) — STOP, TPSL, or positional_TPSL.
  • is_triggered (string, optional) — filter by trigger state.

#Examples

#Example request

Example request: This signed GET call filters by market, status, pagination, side, algo type, trigger state, and order tag.

text
curl --request GET \
  --url 'https://api.orderly.org/v1/algo/orders?symbol=PERP_ETH_USDC&status=INCOMPLETE&page=1&size=100&side=BUY&algo_type=STOP&is_triggered=false&order_tag=enum:pangoperps:GRID_PRO' \
  --header 'orderly-account-id: <account-id>' \
  --header 'orderly-key: <public-api-key>' \
  --header 'orderly-signature: <signature>' \
  --header 'orderly-timestamp: <timestamp-in-ms>'

The response contains success, data.meta, data.rows, and a server-side timestamp in milliseconds.

#Successful response

data.meta provides total, records_per_page, and current_page. Each object in data.rows includes the algo-order state, trigger details, fees, PnL, and child orders where available.

text
{
  "success": true,
  "data": {
    "meta": { "total": 9, "records_per_page": 25, "current_page": 1 },
    "rows": [{
      "algo_order_id": 168400010,
      "algo_status": "NEW",
      "algo_type": "STOP",
      "fee_asset": "USDC",
      "is_triggered": "false",
      "order_tag": "enum:pangoperps:GRID_PRO",
      "parent_algo_order_id": 0,
      "quantity": 5.5,
      "root_algo_order_id": 168400010,
      "root_algo_order_status": "NEW",
      "side": "BUY",
      "symbol": "PERP_NEAR_USDC",
      "total_executed_quantity": 0,
      "total_fee": 0,
      "trigger_price": 2.5,
      "trigger_price_type": "MARK_PRICE",
      "type": "MARKET",
      "created_time": 1702871974317,
      "updated_time": 1702871974317,
      "visible_quantity": 5.5,
      "margin_mode": "CROSS",
      "executed_quantity": 0,
      "realized_pnl": 0,
      "child_orders": []
    }]
  },
  "timestamp": 1702989203989
}

The response reflects the submitted filters. For fee reconciliation, total_fee is the aggregate fee across executed trades, including custom trading fees; it is not a builder or affiliate payout basis.

PreviousGet OrdersNext Get Trades

On this page

  • Endpoint
  • Authentication
  • Query parameters
  • Examples
  • Example request
  • Successful response

Try it on Pangolin

Everything in these docs is live in the app.

SwapLiquidityStakePerps

Need help?

DiscordTelegramX