# Tipos de cambio

> Endpoint público para obtener los tipos de cambio actuales entre divisas fiat y criptomonedas.

El endpoint de tipos de cambio devuelve una matriz con los tipos de cambio actuales entre todas las divisas admitidas — tanto fiat (USD, EUR, RUB, etc.) como cripto (BTC, ETH, USDT, etc.).

> **INFO:** Este es un **endpoint público**. No requiere autenticación ni los headers `project` o `sign`.

## Obtener tipos de cambio

`GET /v1/exchange-rates`

### Ejemplo de respuesta

```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ómo leer el resultado

La respuesta es un objeto anidado: `result[FROM][TO]` es el tipo de cambio para 1 unidad de `FROM` a `TO`.

- `result["USD"]["RUB"] = 78.32` significa que 1 USD = 78.32 RUB
- `result["BTC"]["USD"] = 94786.69` significa que 1 BTC = $94,786.69

## Ejemplo en 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";
}
```

## Ejemplo con cURL

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

> **WARNING:** Los tipos de cambio se actualizan con frecuencia, pero no están garantizados para operar. Vuelve a consultarlos justo antes de crear un pago o retiro para minimizar el slippage.

## Precios de pares cripto

`GET /v1/prices`

Feed público de precios para pares de criptomonedas. No requiere autenticación.

Devuelve todos los pares compatibles — pares directos coin→USDT y pares cruzados sintéticos a través de USDT (p.ej. TRX→TON). El precio ya incluye el margen de la plataforma.

### Ejemplo de respuesta

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

### Campos de respuesta

| Field | Type | Description |
|-------|------|-------------|
| `from` | string | Moneda de origen |
| `to` | string | Moneda de destino |
| `price` | string | Tasa: cuántas unidades de `to` por 1 unidad de `from` |

### Ejemplo cURL

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