Create Internal Transfer with Wallet Signature
Endpoint
POST /v2/internal_transfer
Mainnet: https://api.orderly.org/v2/internal_transfer
Testnet: https://testnet-api.orderly.org/v2/internal_transfer
Rate limit: 10 requests per 1 second.
Creates an internal transfer using a wallet signature.
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 request.
Request body
The schema lists these fields without marking them as required:
signature(string).userAddress(string).verifyingContract(string).message(object), containing:receiver(string).token(string).amount(integer); example123.transferNonce(string).chainId(string); example"1".chainType(enum string):EVMorSOL; exampleSOL.
Response
HTTP 200 — application/json. success is a required boolean. The response includes the root server timestamp (integer milliseconds); data may contain internal_transfer_request_id (integer).
{
"success": true,
"timestamp": 1702989203989,
"data": { "internal_transfer_request_id": 123 }
}