sign field. This signature lets both parties verify that a request was sent by the expected party and that its parameters were not modified in transit. If the signature does not match, the server rejects the request with result code 3 (Invalid Sign).
How the signature is computed
Thesign value is an HMAC-SHA-256 digest of a concatenated string of request parameters, encoded as a 64-character uppercase hexadecimal string.
Gather the parameters in the correct order
Each endpoint defines a specific parameter concatenation order. The order is documented in the API reference for that endpoint. Use exactly the parameters listed — no extras, no omissions.
Format values correctly
Before concatenating, apply these formatting rules:
amountmust always have exactly two decimal places:12.30, not12.3or12.300.- All other string values are used as-is.
- Concatenate the values directly with no separator between them.
Compute the HMAC-SHA-256 digest
Using your secret key (provided by GitSlotPark), compute an HMAC-SHA-256 over the UTF-8 encoded concatenated string. The key is also UTF-8 encoded.
Formatting rules
| Rule | Correct | Wrong |
|---|---|---|
amount always has 2 decimal places | 12.30 | 12.3, 12.300 |
| Parameters are concatenated without separators | Partner01Player01 | Partner01,Player01 |
| Hex output is uppercase | 475D834A... | 475d834a... |
| Key and message are UTF-8 encoded | key.getBytes("UTF-8") | default charset |
Test vector
Use the following example to verify your implementation before going live.| Parameter | Value |
|---|---|
agentID | Partner01 |
userID | Player01 |
amount | 12.3 → formatted as 12.30 |
transactionID | 474e1a293c2f4e7ab122c52d68423fcb |
roundID | ab9c15f2efdd46278e4a56b303127234 |
1234567890
Expected sign:
Code samples
Common mistakes
The following mistakes all produce an Invalid Sign error (result code3):
- Lowercase hex output — the
signmust be uppercase. Use.toUpperCase(),ToUpperInvariant(), orstrtoupper()as appropriate for your language. - Incorrect decimal formatting — always format
amountto exactly two decimal places before concatenating. A value of12.3must become12.30. - Wrong parameter order — the concatenation order is defined per endpoint in the API reference, not alphabetically. Double-check the order for each endpoint you implement.
- Extra separators — do not add commas, spaces, pipes, or any other character between parameter values when concatenating.
- Wrong encoding — both the key and the message must be UTF-8 encoded before hashing. Avoid relying on a platform’s default charset.