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) — usepangoperps.chainId(integer, required) — chain associated with the withdrawal.receiver(string, required) — destination wallet address.token(string, required) — token symbol, such asUSDC.amount(string, required) — amount to withdraw.withdrawNonce(string, required) — an unused value fromGET /v1/withdraw_nonce.timestamp(string, required) — current Unix timestamp in milliseconds.chainType(string, optional) — signing-wallet chain type:EVMorSOL.allowCrossChainWithdraw(boolean, optional; defaults tofalse) — 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).
{
"success": true,
"data": { "withdraw_id": 123 },
"timestamp": 1702989203989
}