Request Signing
Request Format
Signature Payload
Key rules:
timestampmust be a Unix millisecond timestamp. The server tolerance window is ±10 seconds.signatureis placed in the URL query string, but is not included in the signature payload.- The server verifies the original query string after removing
signature; it does not reorder query parameters. - The query parameter order used for signing must match the actual request URL.
- If a request body exists, the JSON string used for signing must exactly match the actual transmitted body.
- Order-related paths perform signature replay checks. Reusing the same signature within a short period returns
Signature replay detected.
Server Time
Response example:
Clients should calculate timeOffsetMs = serverTimestampMs - localTimestampMs, then use timestamp = nowMs + timeOffsetMs for subsequent signed requests. If the server returns Timestamp outside of tolerance window, immediately resync time and regenerate the signature.
GET Signing Example
Actual request:
Signature payload:
POST Signing Example
Actual request:
Request body:
Signature payload: