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
Registration
Key Management
Account/User Info
Account Notifications
Account Config
Delegate Signer
Sub-account
Trading API
PangoPerpsUser API

Key Management

Create, inspect, restrict, and remove API keys.

#Key Management

These endpoints add, inspect, restrict, and remove API keys for PangoPerps accounts. Adding a key requires a wallet signature. The authenticated endpoints require the signed request headers listed with each operation.

#Get API Key

GET /v1/get_orderly_key
Mainnet: GET https://api.orderly.org/v1/get\\_orderly\\_key\\ Testnet: GET https://testnet-api.orderly.org/v1/get\\_orderly\\_key\\ Rate limit: 10 requests per second per IP address.

Query parameters: account_id (string, required) and orderly_key (string, required; public key being checked).

HTTP 200 returns success and required data: orderly_key (string), scope (string), and expiration (integer timestamp in milliseconds); tag (string) is optional. Server time is returned in timestamp (integer, milliseconds).

text
{"success":true,"data":{"orderly_key":"ed25519:7tEoJo5hMBKBrQsqmc8yw1xNfoQCFQBVwQT1eFafRNRf","scope":"read,trading","expiration":1689086651947,"tag":""},"timestamp":1702989203989}

#Add API Key

POST /v1/orderly_key
Mainnet: POST https://api.orderly.org/v1/orderly\\_key\\ Testnet: POST https://testnet-api.orderly.org/v1/orderly\\_key\\ Rate limit: 10 requests per second per IP address.

Submit application/json. The required message object contains brokerId (string; use pangoperps), chainId (integer, supported registration chain), orderlyKey (string), scope (string), timestamp (number, UNIX milliseconds), and expiration (number, UNIX milliseconds; no more than 365 days after creation). Scopes are independent: trading does not include read; request read,trading when both are needed. Optional message fields: chainType (EVM or SOL), tag (string), and subAccountId (string, to create the key for that sub-account). Include signature (string, EIP-712 signature of the message) and userAddress (string, signing wallet address).

HTTP 200 returns success, required data.orderly_key (string, the added key), optional data.id (integer, record ID), and server timestamp (integer, milliseconds).

#Remove API Key

POST /v1/client/remove_orderly_key
Mainnet: POST https://api.orderly.org/v1/client/remove\\_orderly\\_key\\ Testnet: POST https://testnet-api.orderly.org/v1/client/remove\\_orderly\\_key\\ Rate limit: 10 requests per second per IP address.

Submit application/json with orderly_key (string, required): the key to remove. Removal deactivates it for future use. This is an authenticated endpoint; include orderly-timestamp, orderly-account-id, orderly-key, and orderly-signature.

HTTP 200 returns success (boolean) and server timestamp (integer, milliseconds).

#Get Current API Key Info

GET /v1/client/key_info
Mainnet: GET https://api.orderly.org/v1/client/key\\_info\\ Testnet: GET https://testnet-api.orderly.org/v1/client/key\\_info\\ Rate limit: 10 requests per 60 seconds.

Required signed headers: orderly-timestamp (string, signed request time in milliseconds), orderly-account-id (string, authenticated account), orderly-key (string, public signing key), and orderly-signature (string, request signature). Optional query parameter key_status filters by ACTIVE, REMOVING, or REMOVED.

HTTP 200 returns required data.rows. Each row can include orderly_key (string), key_status (string), ip_restriction_list (string array), ip_restriction_status (one of ALLOW_RESTRICTION_LIST, ALLOW_ALL_IPS, DISALLOW_ALL_IPS), expiration (integer milliseconds), scope (string), and tag (string). The response also includes success and timestamp.

#Get API Key IP Restriction

GET /v1/client/orderly_key_ip_restriction
Mainnet: GET https://api.orderly.org/v1/client/orderly\\_key\\_ip\\_restriction\\ Testnet: GET https://testnet-api.orderly.org/v1/client/orderly\\_key\\_ip\\_restriction\\ Rate limit: 10 requests per 60 seconds.

Use the four signed headers described above. Required query parameter: orderly_key (string), the key to inspect.

HTTP 200 returns required data.account_id (string), data.orderly_key (string), data.ip_restriction_list (string array), and data.tag (string, may be null), plus success and server timestamp.

#Set API Key IP Restriction

POST /v1/client/set_orderly_key_ip_restriction
Mainnet: POST https://api.orderly.org/v1/client/set\\_orderly\\_key\\_ip\\_restriction\\ Testnet: POST https://testnet-api.orderly.org/v1/client/set\\_orderly\\_key\\_ip\\_restriction\\ Rate limit: 10 requests per 60 seconds.

Use the four signed headers. Required query parameters: orderly_key (string) and ip_restriction_list (string; comma-separated IP addresses or ranges allowed to use the key).

HTTP 200 returns required data.ip_restriction_list (string array), success, and server timestamp.

#Reset API Key IP Restriction

POST /v1/client/reset_orderly_key_ip_restriction
Mainnet: POST https://api.orderly.org/v1/client/reset\\_orderly\\_key\\_ip\\_restriction\\ Testnet: POST https://testnet-api.orderly.org/v1/client/reset\\_orderly\\_key\\_ip\\_restriction\\ Rate limit: 10 requests per 60 seconds.

Use the four signed headers. Required query parameters: orderly_key (string) and reset_mode (string): ALLOW_ALL_IPS removes the restriction list, while DISALLOW_ALL_IPS blocks every IP for the key.

HTTP 200 returns success (boolean) and server timestamp (integer, milliseconds).

PreviousRegistrationNext Account/User Info

On this page

  • Key Management
  • Get API Key
  • Add API Key
  • Remove API Key
  • Get Current API Key Info
  • Get API Key IP Restriction
  • Set API Key IP Restriction
  • Reset API Key IP Restriction

Try it on Pangolin

Everything in these docs is live in the app.

SwapLiquidityStakePerps

Need help?

DiscordTelegramX