Get started with API

Signing requests

First of all to use Calypso Public API you’ll need to contact Technical Support to generate a new pair of API keys (public and secret keys):

secret key example:
b823a6b9ea72408583cef9ec8d67fa52
public key example:
c529e14832b34b74972365cf7bf02430

API keys are used for authorization in requests to the Calypso API. After receiving API keys from our Technical Support team you can start sending requests to Calypso Public API.

All requests must contain the following headers:

KeyThe api key as a string.
SignThe HEX-encoded signature (see below).
Content-TypeAll request bodies should have content type application/json and be valid JSON.

Sign — POST data (in the same format in which you want to send) encrypted with the method HMAC-SHA512 using secret key and the result object is converted to a HEX string.

The body is the request body string (in all cases this is JSON stringified request params object).

All the requests should also include the obligatory POST parameter timestamp with current unix UTC timestamp in milliseconds. The value must not be less than 3 minutes in the past and not greater than 3 minutes in the future.

To create the sign:

  1. Build the body of the request with correct timestamp
  2. Encrypt the request body with method HMAC-SHA512 using the body as a message and the secret key as a key.
  3. Convert bytes to string of hexadecimal digits.

Examples of sign building:

  • Javascript

    const crypto = require("crypto-js");
    
    signature = function (body, secretKey) {
            return crypto.HmacSHA512(body, secretKey).toString(crypto.enc.hex);
        };
    
  • Python

    import hmac
    import hashlib
    
    def signature(body, secret_key):
        return hmac.new(secret_key.encode(), body.encode(), hashlib.sha512).hexdigest()
    

Example of api keys, body and correct sign for request:

api_key = 'c529e14832b34b74972365cf7bf02430'
secret_key = 'b823a6b9ea72408583cef9ec8d67fa52'

data = '{"timestamp":1}'
sign = 'b16e9d45f49f2069becbc4f108b237bee588cfc353fe9501df103e692acbc68d482a10d34c12bea22fedde7e28e1b8e57a6a0a373b0e9a27c5257bd8b36e13b9'

Examples of timestamp building:

  • Javascript
var timestamp = new Date().getTime();
  • Python
import time

timestamp = round(time.time() * 1000)

What’s Next

Now you can make integration to accept or make payments