Cómo se construye un precio de referencia
La API de CantonCap recalcula el precio de referencia de cada activo aproximadamente una vez por minuto, en cada moneda que publica. Sus datos de entrada son los precios que las plataformas públicas de Canton cotizan para el activo: el ticker de cada mercado o, cuando un mercado no publica ticker, el estado de su pool. Un precio cotizado en otro activo, como una stablecoin o Canton Coin, se convierte mediante el propio precio de referencia de ese activo, de modo que no se da por hecho que ninguna stablecoin valga exactamente un dólar.
Un precio de referencia se construye solo con observaciones recientes, con liquidez suficiente para ser significativas y alcanzables en la moneda solicitada. El estado de los pools de las plataformas, los niveles ejecutables del libro de órdenes y las operaciones liquidadas en las plataformas pueden actuar como componentes directos. Las referencias externas etiquetadas por moneda pueden convertir esas observaciones a una moneda de destino, pero normalmente no se convierten por sí mismas en componentes del precio.
Una cotización solo cuenta dentro de los límites que fija el operador: suficiente liquidez detrás, una distancia respecto a las demás cotizaciones no mayor de la que admite el umbral de valores atípicos, un diferencial y un impacto en el precio dentro de los límites, un tope a cuánto puede mover el resultado una sola plataforma, un límite de pasos de conversión y una antigüedad máxima. Las cotizaciones que superan esos filtros se ponderan en una sola cifra. Cada activo se calcula por separado, así que un fallo en uno nunca retrasa a otro.
El precio en USD de Canton Coin es la mediana de tres referencias independientes de exchanges centralizados, Bybit CC/USDT, OKX CC/USDT y Kraken CC/USD, con los tramos en USDT convertidos mediante el tipo USDT/USD de Kraken como decimal exacto. Se publica como un único agregado etiquetado que incluye sus tres fuentes, y es a la vez un enlace de conversión y un componente directo.
La base junto a cada precio
Cada página de activo muestra lo que cotizan las plataformas: el último precio de cada plataforma para el activo, la dispersión entre el más bajo y el más alto, y su mediana. Solo se usan los mercados en los que el activo es la base del par, en el activo de cotización con más mercados, porque los precios en distintos activos de cotización no pueden compartir un eje.
Con un número par de plataformas, la mediana es la menor de las dos cotizaciones centrales y no su promedio, de modo que siempre es un precio que una plataforma cotizó realmente. La base es una comprobación pública del precio de referencia, no el cálculo en sí, cuyas ponderaciones y exclusiones son registros administrativos.
Orígenes del precio
- Pool de AMMvenue_pool
- Derivado de las reservas on-chain del pool en una plataforma de Canton.
- Libro de órdenesvenue_book
- Derivado de los niveles ejecutables del libro de órdenes en una plataforma de Canton.
- Operación en plataformavenue_trade
- Tomado de las operaciones liquidadas del registro de operaciones de la plataforma.
- Referencia externaexternal_reference
- Una referencia expresada en una divisa que se usa para convertir, no para fijar el precio directamente.
- Derivadoderived
- Calculado a partir de otras observaciones admitidas, no observado directamente.
Con qué se contrasta cada observación
Antes de que una observación pueda respaldar una cifra publicada, se evalúa con 15 comprobaciones. Cada fallo se registra como un incidente de calidad que indica la etapa y la comprobación.
Estos registros son administrativos, no públicos: la API pública publica el valor resultante y la hora de su última actualización, no la pista de auditoría. Lo que un consumidor público puede inspeccionar directamente es la dispersión entre plataformas; consulta cualquier página de activo.
- Validez decimaldecimal_validity
- El valor informado no se pudo interpretar como un decimal exacto.
- Validez de la horatimestamp_validity
- La observación no tenía hora o tenía una hora inverosímil.
- Resolución de identidadidentity_resolution
- No se pudo vincular el registro a un activo o mercado conocido.
- Validez del precioprice_validity
- El precio no era positivo o quedaba fuera de los límites que puede tomar el instrumento.
- Validez de las reservasreserve_validity
- Las reservas del pool no eran coherentes con la curva que dicen seguir.
- Libro cruzadobook_crossed
- La mejor oferta de compra superaba a la mejor oferta de venta, así que el libro no era coherente internamente.
- Libro vacíobook_empty
- Uno o ambos lados del libro no tenían niveles con los que calcular un precio.
- Salto de secuenciasequence_gap
- Los números de secuencia de la fuente dieron un salto, así que se perdió al menos una actualización.
- Desactualizaciónstaleness
- La observación era más antigua que la ventana de actualidad de este cálculo.
- Precio atípicoprice_outlier
- El precio quedó fuera de la banda de dispersión aceptada respecto a sus pares.
- Salto de suministrosupply_jump
- El suministro informado del token varió entre observaciones más de lo que permite la emisión.
- Invariante OHLCohlc_invariant
- Una vela incumplió sus propias invariantes: máximo por debajo de la apertura, mínimo por encima del cierre o algo similar.
- Evento duplicadoduplicate_event
- El mismo evento de la fuente llegó dos veces y se contó una sola vez.
- Conciliación del volumenvolume_reconciliation
- El volumen informado no coincidía con las operaciones observadas en la misma ventana.
- Dependencia no disponibledependency_availability
- Un dato del que depende esta cifra no estaba disponible cuando se calculó.
Liquidez y puntuación de liquidez
La liquidez de un pool de AMM es el valor en USD de sus reservas: cada reserva al precio de referencia de su activo, asociada por su identidad en Canton. Si el activo de una reserva no tiene precio, la cifra queda vacía en lugar de estimarse; un pool vacío vale cero. Un libro de órdenes se mide, en cambio, por su profundidad, así que un mercado de libro de órdenes no tiene una cifra única de liquidez.
La profundidad al 2 % es el valor en USD que se puede comprar o vender antes de que el precio se aleje un 2 % de la referencia: en un libro de órdenes se lee de sus propios niveles y en un AMM se modela a partir del estado almacenado del pool, comisión incluida. Una profundidad modelada mide la curva; no es una cotización ni una promesa de ejecución.
La puntuación de liquidez califica un mercado de 0 a 100 según lo que costaría operar en él. La API simula compras y ventas de $100, $500, $1000, $5000 y $10.000 contra el estado actual del mercado, sin comisiones, y convierte su impacto en el precio, y si cada una podría ejecutarse, en una sola puntuación. Un mercado sin datos suficientes no tiene puntuación, lo que nunca equivale a una puntuación de cero.
La puntuación de un activo es la media de sus tres mejores puntuaciones de mercado, en cualquiera de los lados del par, o de todos sus mercados puntuados si tiene menos, de modo que un activo con un solo mercado puntuado toma la puntuación de ese mercado. La de una plataforma es la media de sus mercados. La vista «Más líquidos» ordena los activos según la puntuación del activo.
Volumen de 24 horas
El volumen tiene una única definición en todo el sitio, así que una tabla y un total no pueden discrepar. El volumen de 24 horas en USD de un mercado es la medición de actividad de la API para ese mercado cuando existe; si no, el volumen en USD que la plataforma informa en su ticker; y si tampoco, su volumen en el activo de cotización al precio de referencia de ese activo. El volumen de un activo es la suma de todos los mercados en los que se negocia, en cualquiera de los lados del par; el de una plataforma, la suma de sus mercados; el de la red cuenta cada mercado una sola vez.
La medición de actividad elige un valor nocional para cada periodo, con preferencia por el USD derivado de precios anclados en exchanges con una antigüedad máxima de tres minutos, y nunca suma el volumen informado por una plataforma al volumen observado en sus operaciones. Se agrega a partir de franjas horarias, con una nueva instantánea cada cinco minutos.
Una cifra de volumen lleva sus salvedades. Cuando una actualización no trae ningún valor utilizable, la API conserva el último con su propia hora; cuando esa hora tiene más de una hora de antigüedad, la cifra se muestra atenuada con la hora a la que corresponde, nunca como actual. Una cifra parcial cubre solo parte de las 24 horas y lo indica, y una estimación se marca como tal. Lo desconocido nunca se muestra como cero, y un total que contiene cifras antiguas, parciales o estimadas indica cuántas.
El volumen informado por Rocky se muestra en sus propios mercados, atenuado y con el motivo, y queda fuera de todos los totales hasta que se concilie con sus operaciones: sus primeras cifras llegaron a varias veces el suministro de los activos que lista.
Valoración totalmente diluida
El FDV es el producto decimal exacto del precio de referencia admitido y la última observación del suministro total compatible con la política, procedente de un registrador aprobado. Si la observación del suministro supera la antigüedad máxima que admite la metodología, o si ningún registrador aprobado la ha publicado, el FDV no se calcula y en lugar de la cifra se indica el motivo.
El suministro total es la cifra que publica un registrador aprobado para el instrumento, conservada exactamente como se informa: nunca se redondea, reescala ni interpola. Un suministro que varía entre dos observaciones más de lo que permite la emisión queda marcado por la comprobación de saltos de suministro. El suministro circulante y el máximo no se publican.
Capitalización de mercado
La capitalización de mercado no se publica. Requiere una cifra de suministro circulante, y no existe una metodología revisada de suministro circulante para los instrumentos de Canton: distinguir el suministro circulante del bloqueado, del que está en tesorería y del restringido contractualmente es una cuestión de gobernanza, no de datos.
La API lo indica en la respuesta en lugar de devolver un campo vacío: la respuesta de métricas globales incluye market_cap.semantics = "unavailable_circulating_supply". Hasta que exista esa metodología, la capitalización de mercado de un activo de Canton es una conjetura, y este producto no publica conjeturas.
Puesto y ratios
El puesto ordena todos los activos listados a partir de su FDV, la liquidez de sus pools y su volumen móvil de 24 horas. Se calcula una sola vez sobre todo el listado, así que un activo tiene el mismo puesto en todas las páginas, en todas las monedas y con cualquier orden.
Liquidez / FDV divide la liquidez en USD de los pools de AMM de un activo entre su FDV, contando una sola vez cada pool elegible. No incluye la profundidad de los libros de órdenes. No tiene tope: una valoración pequeña con pools profundos puede superar el 100 %.
Volumen / FDV divide el mejor volumen móvil de 24 horas disponible del activo en USD (operaciones informadas u observadas, pero nunca su suma) entre su FDV: la parte de la valoración que cambió de manos en un día.
Cualquiera de las dos ratios se omite cuando el FDV falta, está desactualizado o es cero, o cuando no hay nada que dividir: un activo sin pool no tiene ratio de liquidez. Cada una indica su cobertura, así que una cifra construida con parte de los mercados lo dice.
Ambas se leen en una misma escala de cuatro bandas, marcadas por las barras junto a cada cifra.
| Banda | Rango | Liquidez / FDV | Volumen / FDV |
|---|---|---|---|
| Escasa, Tranquilo | Menos de 1% | Escasa | Tranquilo |
| Baja, Ligero | De 1% a 5% | Baja | Ligero |
| Moderada, Activo | De 5% a 10% | Moderada | Activo |
| Profunda, Intenso | 10% o más | Profunda | Intenso |
Gráficos: velas y línea
Las velas muestran la apertura, el máximo, el mínimo y el cierre del activo en USD, agregados por la API a partir de los mercados con los que calcula su precio, con el volumen debajo cuando se ha publicado. Los botones eligen lo que abarca una vela: 15m, 1h, 4h, 24h, 1W o 1M. Los tres más cortos muestran unas doscientas velas hacia atrás, 24h muestra un año, y 1W y 1M muestran todo el historial.
La API sirve velas de hasta una semana, así que una vela mensual se construye a partir de velas diarias, por mes calendario en UTC: abre con la primera apertura del mes, cierra con su último cierre, abarca el máximo más alto y el mínimo más bajo, y suma el volumen que publicaron sus días.
Las velas se unen en un registro continuo: cada una abre donde cerró la anterior, y un intervalo sin operaciones es una vela plana al cierre anterior, sin volumen, en lugar de un hueco. El máximo y el mínimo de una vela se amplían para contener su apertura, de modo que el cuerpo nunca sale de su mecha.
La línea representa el propio precio de referencia, en 24h, 1W, 1M, 1Y o Todo, con un punto por intervalo, el último precio dentro de él: cada 15 minutos en 24 horas, cada hora en una semana, cada 4 horas en un mes y a diario en un año o más. Se muestra en verde por encima del primer punto del rango y en rojo por debajo.
Un gráfico solo llega tan atrás como lo permiten el historial que conserva la API y el acceso del sitio, y se lee en ventanas de 31 días como máximo. Cuando el historial de una fuente empieza en el momento en que CantonCap comenzó a observarla, los periodos anteriores no existen. La pequeña línea de cada fila de la tabla muestra los precios de referencia del activo de las últimas 24 horas, hora a hora.
Frecuencia de actualización y marcas de tiempo
Las plataformas se leen cada 30 segundos a 5 minutos, según lo que permita cada una, y los precios de referencia se recalculan aproximadamente una vez por minuto. El sitio reutiliza cada respuesta durante un breve intervalo: 30 segundos para el estado de las fuentes, un minuto para precios, listados y mercados, y cinco minutos para volumen, plataformas, gráficos y minigráficos. Una tabla de mercado abierta comprueba si hay precios nuevos cada 45 segundos.
Todas las horas que publica la API están en UTC, y el sitio muestra sus horas en UTC. Un precio calculado lleva la hora en que se calculó; una medición sobre una ventana lleva el final de la ventana que cubre, no la hora en que se leyó. Las ventanas incluyen su inicio y excluyen su final. La antigüedad de cada cifra se muestra a su lado, y la app marca los precios como retrasados cuando el más reciente tiene media hora. El gráfico de la app muestra su eje en la hora local del teléfono.
Datos de ejemplo y en tiempo real
Cada cifra se lee de la API de CantonCap cuando se genera la página, y cada lectura registra si la respuesta llegó en tiempo real. En producción, una API inaccesible produce un error o una ausencia declarada, nunca una página de cifras inventadas.
Las compilaciones de desarrollo y de vista previa pueden mostrar un conjunto fijo de datos de ejemplo cuando la API no está accesible. Una página generada a partir de él siempre lleva un aviso de datos de ejemplo que explica el motivo, y sus cifras son ilustrativas, no un feed de mercado. Los datos de ejemplo nunca se presentan como reales.
Observadores, sentimiento y publicaciones de emisores
«N observadores» cuenta los miembros que tienen actualmente un activo en su lista de seguimiento, solo a partir de las listas de miembros con sesión iniciada. Es un total; nunca se muestra ninguna lista. El sitio lo actualiza como máximo una vez por minuto.
El indicador de sentimiento cuenta miembros, cada uno una sola vez por activo. El voto alcista o bajista de un miembro en la página del activo cuenta durante siete días desde que se emitió; un miembro que no ha votado cuenta según la tendencia de su publicación principal más reciente sobre el activo en los últimos siete días, sin contar respuestas ni publicaciones ocultas o eliminadas. La proporción alcista entre los miembros que tomaron partido se sitúa en un dial de cinco zonas iguales, de muy bajista a muy alcista. Es un recuento de opiniones, no una señal, y queda vacío cuando nadie ha indicado una tendencia.
Un feed de emisor muestra las publicaciones que un emisor o proveedor de un activo publica en X, solo cuando la API registra una asociación aprobada entre ese emisor y el activo; ningún feed se elige por coincidencia de símbolo. Las publicaciones aparecen tal como se publicaron, con su hora en UTC y un enlace al original. Una publicación editada muestra su última versión, y las publicaciones retenidas, protegidas y eliminadas se retiran. Una página abierta vuelve a comprobar cada 30 segundos y nunca muestra una publicación de una respuesta con más de 90 segundos de antigüedad. CantonCap no respalda lo que publican los emisores.
Cobertura y alcance
Canton aplica privacidad a nivel de subtransacción: cada parte recibe solo las partes de una transacción que le corresponden. Una plataforma visible para una clave de integrador no es visible públicamente, y un registro de ejecución limitado a una parte no es visible para nadie más. Por eso cada cifra indica el alcance bajo el que se observó.