> For the complete documentation index, see [llms.txt](https://3commas.gitbook.io/3commas-official-api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://3commas.gitbook.io/3commas-official-api-docs/general-information/how-to-start.md).

# How to start

\
All requests to the 3Commas API require authentication unless explicitly stated.

{% stepper %}
{% step %}

#### Get Your 3Commas API Key

We offer two ways to generate API Key:

* System generated;
* Self-generated using an RSA asymmetric encryption method.

We recommend the second method as it provides a more secure connection for your apps.
{% endstep %}

{% step %}

#### Create a Signature

`SIGNED` endpoints require an additional `Signature` header to ensure the authenticity of the request.
{% endstep %}

{% step %}

#### Signed Endpoint

To authenticate, pass your 3Commas `API Key` and the `Signature` header in the request.
{% endstep %}
{% endstepper %}

<br>

## Test authentication<br>

The quickest way to test your authentication setup is by sending a request to the `/ver1/validate` endpoint. This endpoint verifies the validity of your API credentials and returns the status of your authentication.

**API credentials validity check**<br>

<mark style="color:blue;">**`GET`**</mark>\
/ver1/validate<br>

### Responce<br>

If successful, 3Commas returns:

```json
{
    "valid": true
}
```

<br>

If authentication fails, 3Commas returns a `401` **Unauthorized** error with the following payload:

```json
{
    "error": "signature_invalid",
    "error_description": "Provided signature is invalid"
}
```
