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

# Cotizave Index methodology

> Version v1 formula, P2P median, outlier exclusion and weight normalisation.

This methodology applies to the [index endpoint](/en/api/endpoints/index). It combines different references; it does not represent executed trades.

<span id="formula" />

## Version v1 formula

```text theme={null}
Index = BCV × 0.30 + Parallel × 0.20 + P2PMedian × 0.50
```

<span id="componentes" />

## Components

* **BCV, 30%:** `reference`, the official USD/VES rate.
* **Parallel, 20%:** `parallel`, a free-market reference received and normalised by Cotizave.
* **P2P, 50%:** median of available positive quotes from `binance`, `bybit`, `okx`, `bitget`, `mexc`, `bingx` and `saldo`, after outlier filtering. These are normalised USDT/VES references, not an order book or executed trades.

<span id="outliers" />

## Outliers

First calculate the global median of positive P2P quotes. Exclude each quote whose absolute deviation from that median is **greater than 50%**. Recalculate the median using the remaining quotes. With an even count, the median is the mean of the two central values; with fewer than two, no outliers are detected.

<span id="flags" />

## Flags and effective weights

| Flag | Meaning |
| - | - |
| `bcv_stale` | BCV is over 132 hours old; its weight becomes zero. This is a calculation rule, not legal-calendar validation. |
| `degraded` | Between 1 and 3 P2P quotes remain. With none, `missing_sources` is used instead. |
| `missing_sources` | Missing components: `bcv`, `paralelo` or `p2p`. Their weights become zero. |
| `outliers_excluded` | P2P markets excluded for deviating more than 50% from the initial median. |

After excluding components, divide each remaining weight by the sum of available weights. If only parallel and P2P remain, their weights are `0.2/0.7` and `0.5/0.7`. The result is rounded to four decimal places. If none remain, the API returns `503`.

P2P filtering uses availability, positive values and deviation; the flags do not establish that every P2P quote is recent.

<span id="interpretacion" />

## Calculation example

Illustrative response: figures and dates are not current quotes.

```json theme={null}
{
  "value": 522.3765,
  "version": "v1",
  "as_of": "2026-10-19T17:29:15Z",
  "weights": {
    "bcv": 0.3,
    "paralelo": 0.2,
    "p2p": 0.5
  },
  "components": {
    "bcv": 475.0083,
    "paralelo": 538.87,
    "p2p": 544.2
  },
  "p2p_median": 544.2,
  "p2p_count": 7,
  "flags": {},
  "methodology_url": "https://cotizave.com/docs/cotizave-index"
}
```

`475.0083 × 0.3 + 538.87 × 0.2 + 544.2 × 0.5 = 522.37649`, returned as `522.3765`. `as_of` identifies the snapshot; it is not a guarantee of maximum age.

<span id="cuando-usarlo" />

## Use and interpretation

Use it as a reference in charts and estimates, displaying its version, timestamp and flags. It does not replace an official rate or guarantee a transaction price. For BCV data, query `reference` or `eur_reference` directly.

<span id="versionado" />

## Version

The current response identifies this methodology as `v1`. Store `version` with results and review the documentation before adopting another version. No fixed overlap period between versions is promised.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.