> For the complete documentation index, see [llms.txt](https://aliniex.gitbook.io/alix-pay/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aliniex.gitbook.io/alix-pay/api-reference/scan-to-pay-api/account/check-cryptocurrencies-price.md).

# Check cryptocurrencies price

## Check the cryptocurrencies price

<mark style="color:green;">`POST`</mark> `/api/v2/orders/prices`

This API allows you to retrieve the current prices on AliX Pay of cryptocurrencies

**Headers**

| Name         | Value                                                                                    |    |               |
| ------------ | ---------------------------------------------------------------------------------------- | -- | ------------- |
| Content-Type | `application/json`                                                                       |    |               |
| lang         | <p>The default will en if this param has been empty. </p><p>Supported languages:<code>en | cn | vi</code></p> |

**Request Body**

<table><thead><tr><th width="165">Name</th><th width="100">Type</th><th width="109">Condition</th><th>Description</th></tr></thead><tbody><tr><td><code>partnerCode</code></td><td>string</td><td>Required</td><td>The code of partner has been provided to you during onboarding.</td></tr><tr><td><code>currencies</code></td><td>string</td><td>Required</td><td>The list of cryptocurrency need to check the current prices <code>USDT,BTC,ETH,...</code></td></tr><tr><td><code>network</code></td><td>string</td><td>Required</td><td>the  cryptocurrency network need to exchange. For example: <code>ERC20,TON</code></td></tr><tr><td><mark style="color:red;">fiatCurrency</mark></td><td><mark style="color:red;">string</mark></td><td><mark style="color:red;">Optional</mark></td><td><p><mark style="color:red;">The fiat currency</mark></p><ul><li><mark style="color:red;">VND: Viet Nam</mark></li><li><mark style="color:red;">PHP: Philippines</mark></li><li><mark style="color:red;">IDR: Indonesia</mark></li></ul></td></tr><tr><td><code>signature</code></td><td>string</td><td>Required</td><td><ul><li>Partner will digitally sign the transmitted data using <strong><code>SHA256</code></strong> with RSA algorithm</li><li>The <strong>public key</strong> that has been provided to you during onboarding.</li><li>Data shall be signed according to the structure <strong><code>partnerCode|currencies| network|secretKey</code></strong></li></ul></td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "network": "ERC20",
  "currencies": [
    {
      "name": "ETH",
      "price": 5000000 // VND or PHP
    }
  ],
  "signature": "RSSAH....Ddsds212dsry"
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "Invalid request"
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Signature**&#x20;

* Partner will digitally sign the transmitted data using **`SHA256`** with RSA algorithm
* The **private key** that has been of yours
* Data shall be signed according to the structure **`network|secretKey`**
  {% endhint %}

### How to create and verify the signature  <a href="#how-to-do-signature-creation-verification" id="how-to-do-signature-creation-verification"></a>

#### 1. Creation

```typescript
import * as crypto from 'crypto';

function create(data: string, privateKey: string): string 
{
  const signer = crypto.createSign('RSA-SHA256');
  signer.update(data);
  signer.end();

  return signer.sign(privateKey, 'base64');
}
```

#### 2. Verification

```typescript

function verify (data: string, signature: string, pubKey: string): boolean
{
        const verify = createVerify('RSA-SHA256');
        verify.update(data);
        verify.end();
        return verify.verify(pubKey, signature, 'base64');
}
```
