Skip to main content

Overview

Every request to the Coinut Partner Ramp API must be cryptographically signed using HMAC-SHA256. The server verifies the signature against your API Secret stored on the Coinut side. Requests without a valid signature are rejected with 401 Unauthorized or 422 Unprocessable Entity.

Required Headers

Include these four headers in every authenticated request:
The latest machine-readable contract also declares an X-API-Secret security scheme, but the narrative signing instructions only require X-API-Key, X-Timestamp, X-Nonce, and X-Signature. Confirm the expected header set in sandbox before production rollout.

How to Generate the Signature

Signature Generation Code Examples

Complete Authenticated Request Example

The following shows a full GET /balance request with all headers and a sample response.

Request

Response (New API — 200 OK)

string
Always SUCCESS for successful requests.
array
List of balance objects, one per currency.

Error Responses

IP Whitelisting

Restrict API access to your server IP addresses for additional security.

Get Current IP Whitelist

Update IP Whitelist

Best Practices

Use Unique Nonces

Never reuse a nonce. Each request must have a unique X-Nonce value.
Correct
Incorrect

Use Timestamp in Seconds

The X-Timestamp must be a Unix timestamp in seconds (not milliseconds or microseconds).

Store Secrets Server-Side

Rotate Secrets Regularly

  1. Generate a new key pair from the partner dashboard
  2. Update your server environment with the new secret
  3. Test the new credentials in sandbox
  4. Revoke the old key pair
You can have multiple active key pairs during rotation. Revoke the old key only after confirming the new one works in production.