Signature Mechanism

Use HMAC SHA256 for parameter signature.

Required Configuration Parameters

Generate api-key api-secret

Test Configuration
api_key AAAAACcVAAABnztMqrATYmlG5XNpNnyY
api_secret 41a2cba262436582f859b1453de08a3c
api_url https://dex-api.benpay.com/

Request Required Headers
API-KEY
API-SIGNATURE-METHOD HmacSHA256  (fixed value)  
API-SIGNATURE-VERSION 1  (fixed value)  
API-TIMESTAMP 1751871801483 (current timestamp in milliseconds) 
API-Signature  (dynamically generated signature)

Signature Steps

All parameters are sent via query string

Example: Sending a GET request via curl
https://dex-api.benpay.com/v1/contracts/orders/closed?range=202507&offsetId=0&limit=100

payload - Signature Content
Concatenate in order: method host url sorted-params key signature-method version timestamp
GET
dex-api.benpay.com
/v1/contracts/orders/closed
limit=100&offsetId=0&range=202507
API-KEY: AAAAACcVAAABnztMqrATYmlG5XNpNnyY
API-SIGNATURE-METHOD: HmacSHA256
API-SIGNATURE-VERSION: 1
API-TIMESTAMP: 1751876801442 must be included here\n

signature aea0677b6b594b06809ab7b6ecb3255a9aaab391fb7653b43a1c2867d9c6a4d3 payload signature content

Add the above signature as API-Signature in the request header.

Sample curl request
curl -X 'GET' \
  'https://dex-api.benpay.com/v1/contracts/orders/closed?limit=100&offsetId=0&range=202507' \
  -H 'accept: */*' \
  -H 'API-KEY: AAAAACcVAAABnztMqrATYmlG5XNpNnyY' \
  -H 'API-SIGNATURE-METHOD: HmacSHA256' \
  -H 'API-SIGNATURE-VERSION: 1' \
  -H 'API-TIMESTAMP: 1751876801442' \
  -H 'API-Signature: aea0677b6b594b06809ab7b6ecb3255a9aaab391fb7653b43a1c2867d9c6a4d3' \
  -d ''

Response
{"success":true,"data":{"hasMore":false,"nextOffsetId":0,"results":[],"range":"202507"}}

All parameters are sent via request body

Python Demo

Last updated