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
Liquidations
Assets/withdraw/settle PnL
Get Asset History
Get Current Holding
Get Withdrawal Nonce
Create Withdraw Request
Get Settle PnL Nonce
Request PnL Settlement
Get PnL Settlement History
Create Internal Transfer
Create Internal Transfer with Wallet Signature
Get Transfer Nonce
Get Internal Transfer History
Get Receiver Address
Get Receiver Events
Positions
Funding
PangoPerpsTrading APIAssets/withdraw/settle PnL

Create Withdraw Request

#Endpoint

POST /v1/withdraw_request

Mainnet: https://api.orderly.org/v1/withdraw_request

Testnet: https://testnet-api.orderly.org/v1/withdraw_request

Rate limit: 10 requests per second per IP address.

Creates a withdrawal request using an EIP-712 signature for the message. Use 0x6F7a338F2aA472838dEFD3283eB360d4Dff5D203 as the verifyingContract.

If allowCrossChainWithdraw is false for a cross-chain withdrawal, the request is rejected.

#Authentication

Send the signed-request headers with an application/json body.

  • 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 API request.

#Request body

  • signature (string, required) — EIP-712 signature over the message object.
  • userAddress (string, required) — wallet address that signed the message.
  • verifyingContract (string, required) — contract address used to verify the wallet signature; use the address above.
  • message (object, required), containing:
    • brokerId (string, required) — use pangoperps.
    • chainId (integer, required) — chain associated with the withdrawal.
    • receiver (string, required) — destination wallet address.
    • token (string, required) — token symbol, such as USDC.
    • amount (string, required) — amount to withdraw.
    • withdrawNonce (string, required) — an unused value from GET /v1/withdraw_nonce.
    • timestamp (string, required) — current Unix timestamp in milliseconds.
    • chainType (string, optional) — signing-wallet chain type: EVM or SOL.
    • allowCrossChainWithdraw (boolean, optional; defaults to false) — whether cross-chain withdrawals are allowed.

#Response

HTTP 200 — application/json. success is a required boolean. The required data object contains withdraw_id (integer). The root timestamp is server time in milliseconds (integer).

text
{
  "success": true,
  "data": { "withdraw_id": 123 },
  "timestamp": 1702989203989
}
PreviousGet Withdrawal NonceNext Get Settle PnL Nonce

On this page

  • Endpoint
  • Authentication
  • Request body
  • Response

Try it on Pangolin

Everything in these docs is live in the app.

SwapLiquidityStakePerps

Need help?

DiscordTelegramX