sign parameter. sign is generated from the parameters you send plus your API key.
With the seamless wallet, we generate sign the same way when we call your APIs. Verify it the same way.
Which parameters to include
- Include only the fields marked Signed in each API’s parameter list. Unmarked fields and
signitself are not included. - Include a Signed field even when it has no value. For example, on the first query
nextTokenis an empty string and is included asnextToken=. - Use the exact string you send as the value. For example, if you send
amountas10.00, sign10.00, not10. - Array parameters repeat the same key, in the order they are sent, for example
gameIDList=102&gameIDList=101.
Steps
- Sort by key: Sort parameter names by character code (ASCII), so uppercase letters come before lowercase letters.
- URL-encode into a query string: Encode both keys and values, join each pair with
=and the pairs with&. Encoding rules:- Letters, digits and
-,_,.,~are not encoded. - A space becomes
+. - Every other character is UTF-8 encoded as
%XXwith uppercase hex, for example:becomes%3Aand+becomes%2B.
- Letters, digits and
- Append the API key and hash with MD5: Append your API key directly to the query string with nothing in between. The MD5 of the result, as a lowercase 32-character hex string, is
sign.
2025-12-01T00:00:00.000+08:00 is encoded as 2025-12-01T00%3A00%3A00.000%2B08%3A00.
Example
For Deposit with the API keya188va:
Code examples
Each example below has been run with the sample data above and returns6368a5fd551daad9f202d7cda331bbeb.
Troubleshooting
If the response code is102 (Sign invalid), check the following in order:
- You included exactly the fields marked Signed, no more and no fewer.
- The values you signed are identical to the values you sent, including decimal places and letter case.
- Percent-encoding uses uppercase hex, spaces become
+(not%20), and~is left unencoded. - The MD5 result is lowercase.
- The API key is correct and has no leading or trailing spaces or line breaks.
