# Tỷ giá

> Endpoint công khai để lấy tỷ giá hiện tại giữa các đồng tiền pháp định và tiền điện tử.

Endpoint tỷ giá trả về một ma trận tỷ giá hiện tại giữa toàn bộ các đồng tiền được hỗ trợ — bao gồm cả tiền pháp định (USD, EUR, RUB, v.v.) và tiền điện tử (BTC, ETH, USDT, v.v.).

> **INFO:** Đây là một **endpoint công khai**. Nó không yêu cầu xác thực và không cần các header `project` hoặc `sign`.

## Lấy tỷ giá

`GET /v1/exchange-rates`

### Ví dụ phản hồi

```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"
    }
  }
}
```

### Cách đọc kết quả

Phản hồi là một object lồng nhau: `result[FROM][TO]` là tỷ giá quy đổi 1 đơn vị `FROM` sang `TO`.

- `result["USD"]["RUB"] = 78.32` nghĩa là 1 USD = 78.32 RUB
- `result["BTC"]["USD"] = 94786.69` nghĩa là 1 BTC = $94,786.69

## Ví dụ 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";
}
```

## Ví dụ cURL

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

> **WARNING:** Tỷ giá được cập nhật thường xuyên nhưng không được đảm bảo cho mục đích giao dịch. Hãy luôn tải lại tỷ giá ngay trước khi tạo thanh toán hoặc rút tiền để giảm thiểu trượt giá.