> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crypto-cash.world/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start

## Basic Request Structure

* **Method:** POST
* **Data format:** JSON
* **Encoding:** UTF-8
* **Signature:** base64( ed25519\_sign( data, PRIVATE\_KEY ) )

***

## Signature Types

### ED25519 (Recommended)

1. Create a payload object: `id, delivered_at, event`
2. JSON.stringify(payload)
3. Encode the JSON string to Base64
4. Sign using ED25519 (ed25519.signAsync)
5. Encode the signature to Base64

### Legacy (Deprecated)

1. Create a payload object: `id, delivered_at, event`
2. JSON.stringify(payload)
3. Encode the JSON string to Base64
4. SHA256 hash (privateKey + data)
5. Encode the hash to Base64

<Warning>
  **IMPORTANT:** Integrating via CMS Exchanger, use Legacy keys
</Warning>

***

## External Link for Exchange Rates

**URL:** `https://rates.crypto-cash.world/api/v1/market/rates/export/xml`

**URL:** `https://rates.crypto-cash.world/api/v1/market/rates/export/json`

***

## Transaction Statuses in API Responses

* Queued
* New
* Waiting
* Paid
* Underpaid
* Overpaid
* Canceled
* AMLFrozen
* CurrencyMismatch
* CanceledButPaid / Late Paid
* CanceledButOverpaid / Late Overpaid
* CanceledButUnderpaid / Late Underpaid
* No credited

***

## Errors

If an error occurs, the response will return a list of error codes.

Example error response:

```json theme={null}
{
  "errors": [1000]
}
```

#### Error list:

* 1000 - Invalid request
* 2010 - Data decoding error
* 2011 - Signature decoding error
* 2020 - Invalid signature
* 3000 - Company not found
* 3001 - Order not found
* 3002 - Transaction not found
* 4003 - Account not activated

***

<Card title="Crypto API" icon="pen-to-square" href="/en-api-reference/balance">
  Main requests
</Card>
