# Authentication Guide

## Get API key using the interface

* Enable Two-factor authentication <https://trade.nebulaecn.com/security/2fa>

![](/files/-MIKlIcjb3D7jRrhhKEy)

* Click "Create New" button at My API Keys Section
* Enter 2fa code
* Please remember the below information after creation:
  * `Access Key` It is used in API request
  * `Secret Key` It is used to generate the signature (only visible once after creation)
* Click Confirm Button

## **How to use API key**

Before calling private endpoint you will need to generate three headers:

`X-Auth-Apikey` - API key (from previous step)

`X-Auth-Nonce` - A nonce is an arbitrary number that can be used just once. You *MUST* use a millisecond timestamp in UTC time. Read more about it [here](https://en.wikipedia.org/wiki/Cryptographic_nonce).

Example:

```
date +%s%3N
1584087661035
```

&#x20;`X-Auth-Signature` - HMAC-SHA256 signature calculated using a concatenation of X-Auth-Nonce and X-Auth-Apikey. Hexdigest secret is your API Secret.&#x20;

#### Sample Request below:

```
curl -X GET https://trade.nebulaecn.com/api/v2/backend/account/balances \
-H "X-Auth-Apikey: "Your Api Key" \
-H "X-Auth-Nonce: "Nonce" \
-H "X-Auth-Signature: "HMAC-SHA256 signature"
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nebulaecn.com/guides/authentication-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
