To ensure the authenticity of callbacks from our API, each callback is signed on the backend using your project’s API Key and the callback data.
How the signature is generated#
On our side, the signature is calculated as follows:Example of received callback#
{
"id": "a33da20c-fba6-4d3f-bf57-55b5c0693a4c",
"externalId": "ORDER-001",
"currencyName": "USDT",
"cryptoNetwork": 1,
"status": 1,
"initAmount": "100",
"amount": "99.5",
"toAddress": "TTEa3mJfNhotmfSyramn6QkUuayuc242bj",
"projectId": "992d333d-a4fe-4e67-bf07-9da58c489778",
"commissionType": "0",
"providerCommission": "1",
"chainCommissionFixed": "1",
"totalCommission": "2",
"fromAddress": "TTEa3mJfNhotmfSyr33n6QkUuayuc242ar",
"operationType": 1,
}
How to verify a callback#
Receive the callback data as JSON.
Extract the signature field from headers.
Recreate the signature locally using your API Key and the data.
Compare your generated signature with the received sign.If they match → the callback is valid.
If not → reject the callback.
Example Verification (Node.js)#
Important Notes#
Always remove the sign field before calculating your hash.
Use the raw JSON body (without formatting changes such as extra spaces or reordered keys).
Reject any callback with an invalid or missing signature.
Modified at 2025-09-23 16:49:33