# Курсы валют

> Публичный endpoint для получения текущих курсов между фиатными валютами и криптовалютами.

Endpoint курсов валют возвращает матрицу актуальных курсов между всеми поддерживаемыми валютами — как фиатными (USD, EUR, RUB и др.), так и криптовалютами (BTC, ETH, USDT и др.).

> **INFO:** Это **публичный endpoint**. Он не требует авторизации и заголовков `project` или `sign`.

## Получить курсы валют

`GET /v1/exchange-rates`

### Пример ответа

```json
{
  "state": 0,
  "result": {
    "USD": {
      "USD": "1.00000000",
      "EUR": "0.86090000",
      "RUB": "78.32190000",
      "BTC": "0.00001055",
      "USDT": "1.00000000"
    },
    "BTC": {
      "USD": "94786.69000000",
      "EUR": "81589.12000000",
      "ETH": "29.02345678",
      "USDT": "94786.69000000"
    }
  }
}
```

### Как читать результат

Ответ — вложенный объект: `result[FROM][TO]` — это курс 1 единицы `FROM` к `TO`.

- `result["USD"]["RUB"] = 78.32` означает, что 1 USD = 78.32 RUB
- `result["BTC"]["USD"] = 94786.69` означает, что 1 BTC = $94 786.69

## Пример на PHP

```php
<?php
$ch = curl_init('https://api.2328.io/api/v1/exchange-rates');
curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true ]);

$response = json_decode(curl_exec($ch), true);

if ($response['state'] === 0) {
    $rates = $response['result'];
    $rubAmount = bcmul(100, $rates['USD']['RUB'], 2);
    echo "100 USD = {$rubAmount} RUB\n";
}
```

## Пример на cURL

```bash
curl https://api.2328.io/api/v1/exchange-rates
```

> **WARNING:** Курсы обновляются часто, но не гарантированы для торговых операций. Всегда запрашивайте курс заново непосредственно перед созданием платежа или выплаты, чтобы минимизировать проскальзывание.

## Курсы криптопар

`GET /v1/prices`

Публичный фид курсов между криптовалютами. Не требует авторизации.

Возвращает массив всех поддерживаемых пар — прямые пары coin→USDT и синтетические кросс-пары через USDT (например, TRX→TON). Курс уже включает платформенную наценку.

### Пример ответа

```json
[
  {"from": "BTC",  "to": "USDT", "price": "105234.5"},
  {"from": "ETH",  "to": "USDT", "price": "3812.08"},
  {"from": "USDT", "to": "USDC", "price": "1.0012"},
  {"from": "TRX",  "to": "TON",  "price": "0.000834"}
]
```

### Поля ответа

| Поле | Тип | Описание |
|------|-----|----------|
| `from` | string | Исходная валюта |
| `to` | string | Целевая валюта |
| `price` | string | Курс: сколько единиц `to` за 1 единицу `from` |

### Пример на cURL

```bash
curl https://api.2328.io/api/v1/prices
```