Come si costruisce un prezzo di riferimento
L'API di CantonCap ricalcola il prezzo di riferimento di ogni asset circa una volta al minuto, in ciascuna valuta che pubblica. I dati di partenza sono i prezzi che le piattaforme pubbliche di Canton quotano per l'asset: il ticker di ogni mercato oppure, se un mercato non pubblica un ticker, lo stato del suo pool. Un prezzo quotato in un altro asset, come una stablecoin o Canton Coin, viene convertito tramite il prezzo di riferimento di quell'asset, così nessuna stablecoin viene considerata pari esattamente a un dollaro.
Un prezzo di riferimento si costruisce solo da osservazioni recenti, abbastanza liquide da essere significative e raggiungibili nella valuta richiesta. Lo stato dei pool delle piattaforme, i livelli eseguibili dell'order book e le operazioni regolate sulle piattaforme possono ciascuno fungere da componente diretto. I riferimenti esterni etichettati per valuta possono convertire tali osservazioni in una valuta di destinazione, ma di norma non diventano a loro volta componenti autonomi del prezzo.
Una quotazione conta solo entro i limiti fissati dall'operatore: liquidità sufficiente alle sue spalle, uno scostamento dalle altre quotazioni non superiore alla soglia per i valori anomali, spread e impatto sul prezzo entro i limiti, un tetto all'influenza che una singola piattaforma può avere sul risultato, un limite ai passaggi di conversione e un'età massima. Le quotazioni che superano questi controlli vengono ponderate in un unico dato. Ogni asset è calcolato separatamente, così un errore su uno non blocca mai un altro.
Il prezzo in USD di Canton Coin è la mediana di tre riferimenti indipendenti di exchange centralizzati, Bybit CC/USDT, OKX CC/USDT e Kraken CC/USD, con le componenti in USDT convertite al tasso USDT/USD di Kraken come decimale esatto. Viene pubblicato come un unico aggregato contrassegnato che riporta le sue tre fonti, ed è al tempo stesso un passaggio di conversione e un componente diretto.
La base accanto a ogni prezzo
Ogni pagina asset mostra ciò che quotano le piattaforme: l'ultimo prezzo di ciascuna piattaforma per l'asset, lo spread tra il più basso e il più alto e la loro mediana. Si usano solo i mercati in cui l'asset è la base, nell'asset di quotazione con più mercati, perché prezzi espressi in asset di quotazione diversi non possono condividere un asse.
Con un numero pari di piattaforme, la mediana è la più bassa delle due quotazioni centrali anziché la loro media, quindi è sempre un prezzo effettivamente quotato da una piattaforma. La base è una verifica pubblica del prezzo di riferimento, non il calcolo stesso, i cui pesi ed esclusioni sono record amministrativi.
Origine dei prezzi
- Pool AMMvenue_pool
- Derivato dalle riserve on-chain di un pool su una piattaforma Canton.
- Order bookvenue_book
- Derivato dai livelli eseguibili dell'order book di una piattaforma Canton.
- Operazione di piattaformavenue_trade
- Ricavato dalle operazioni regolate nel registro delle operazioni della piattaforma.
- Riferimento esternoexternal_reference
- Un riferimento etichettato per valuta, usato per la conversione e non per fissare direttamente il prezzo.
- Derivatoderived
- Calcolato da altre osservazioni ammesse anziché osservato direttamente.
I controlli su ogni osservazione
Prima che un'osservazione possa sostenere un dato pubblicato, viene valutata rispetto a 15 controlli. Un esito negativo viene registrato come incidente di qualità che indica la fase e il controllo.
Questi record sono amministrativi, non pubblici: l'API pubblica espone il valore che ha superato i controlli e l'ora del suo ultimo aggiornamento, non la traccia di audit. Ciò che un utente pubblico può verificare direttamente è lo spread tra le piattaforme: consulta qualsiasi pagina asset.
- Validità decimaledecimal_validity
- Il valore riportato non è risultato leggibile come decimale esatto.
- Validità del timestamptimestamp_validity
- L'osservazione riportava un orario mancante o non plausibile.
- Risoluzione dell'identitàidentity_resolution
- Non è stato possibile collegare il record a un asset o mercato noto.
- Validità del prezzoprice_validity
- Il prezzo non era positivo o era fuori dai limiti che lo strumento può assumere.
- Validità delle riservereserve_validity
- Le riserve del pool non erano coerenti con la curva che dichiarano di seguire.
- Book incrociatobook_crossed
- Il miglior bid superava il miglior ask, quindi il book non era coerente al suo interno.
- Book vuotobook_empty
- Uno o entrambi i lati del book non avevano livelli su cui basare un prezzo.
- Salto di sequenzasequence_gap
- I numeri di sequenza della fonte hanno saltato dei valori, quindi almeno un aggiornamento è andato perso.
- Dati non aggiornatistaleness
- L'osservazione era più vecchia della finestra di aggiornamento prevista per questo calcolo.
- Prezzo anomaloprice_outlier
- Il prezzo era fuori dalla banda di dispersione ammessa rispetto alle altre quotazioni.
- Salto di offertasupply_jump
- L'offerta di token riportata è variata tra due osservazioni più di quanto l'emissione consenta.
- Invariante OHLCohlc_invariant
- Una candela ha violato le proprie invarianti — massimo sotto l'apertura, minimo sopra la chiusura o simili.
- Evento duplicatoduplicate_event
- Lo stesso evento della fonte è arrivato due volte ed è stato contato una volta sola.
- Riconciliazione del volumevolume_reconciliation
- Il volume riportato non corrispondeva alle operazioni osservate nella stessa finestra.
- Dipendenza non disponibiledependency_availability
- Un input da cui dipende questo dato non era disponibile al momento del calcolo.
Liquidità e punteggio di liquidità
La liquidità di un pool AMM è il valore in USD delle sue riserve: ogni riserva al prezzo di riferimento del suo asset, abbinata tramite l'identità Canton. Se l'asset di una riserva non ha un prezzo, il dato resta vuoto anziché essere stimato; un pool vuoto vale zero. Un order book si misura invece in base alla profondità, quindi un mercato con order book non ha un unico dato di liquidità.
La profondità entro il 2% è il valore in USD che si può comprare o vendere prima che il prezzo si scosti del 2% dal riferimento: per un order book si legge dai suoi stessi livelli, per un AMM viene modellata dallo stato memorizzato del pool, commissione inclusa. Una profondità modellata misura la curva; non è una quotazione né una garanzia di esecuzione.
Il punteggio di liquidità valuta un mercato da 0 a 100 in base a quanto costerebbe operarvi. L'API simula acquisti e vendite di $100, $500, $1000, $5000 e $10'000 sullo stato attuale del mercato, commissioni escluse, e trasforma il loro impatto sul prezzo, e la possibilità di eseguire ciascuno di essi, in un unico punteggio. Un mercato senza dati sufficienti non ha un punteggio, il che non equivale mai a un punteggio pari a zero.
Il punteggio di un asset è la media dei suoi tre punteggi di mercato più alti, su entrambi i lati della coppia, o di tutti i suoi mercati con punteggio se ne ha meno, quindi un asset con un solo mercato con punteggio ne assume il punteggio. Quello di una piattaforma è la media sui suoi mercati. La vista «Più liquidi» ordina gli asset in base al punteggio dell'asset.
Volume nelle 24 ore
Il volume ha un'unica definizione in tutto il sito, così una tabella e un totale non possono contraddirsi. Il volume nelle 24 ore di un mercato in USD è la misura di attività dell'API per quel mercato, se esiste; altrimenti il volume in USD che la piattaforma riporta nel suo ticker; altrimenti il suo volume nell'asset di quotazione al prezzo di riferimento di quell'asset. Il volume di un asset è la somma su tutti i mercati in cui viene scambiato, su entrambi i lati della coppia; quello di una piattaforma è la somma sui suoi mercati; quello della rete conta ogni mercato una sola volta.
La misura di attività sceglie un nozionale per ogni periodo, preferendo l'USD derivato da prezzi ancorati agli exchange e risalenti al massimo a tre minuti prima, e non somma mai il volume riportato da una piattaforma a quello osservato nelle sue operazioni. Viene aggregata a partire da intervalli orari, con un nuovo snapshot ogni cinque minuti.
Un dato di volume porta con sé le sue avvertenze. Quando un aggiornamento non fornisce un valore utilizzabile, l'API mantiene l'ultimo con il suo orario; quando quell'orario risale a più di un'ora prima, il dato viene mostrato attenuato insieme all'ora a cui si riferisce, mai come attuale. Un dato parziale copre solo una parte delle 24 ore e lo dichiara, e una stima è indicata come tale. Un valore sconosciuto non viene mai mostrato come zero, e un totale che contiene dati meno recenti, parziali o stimati indica quanti sono.
Il volume riportato da Rocky è mostrato sui suoi mercati, attenuato e con il motivo, ed è escluso da ogni totale finché non sarà coerente con le sue operazioni: i suoi primi dati arrivavano a diverse volte l'offerta degli asset che elenca.
Valutazione completamente diluita
L'FDV è il prodotto decimale esatto tra il prezzo di riferimento ammesso e l'ultima osservazione dell'offerta totale compatibile con la policy, proveniente da un registrar approvato. Se l'osservazione dell'offerta è più vecchia dell'età massima ammessa dalla metodologia, o se nessun registrar approvato ne ha pubblicata una, l'FDV non viene calcolato e al posto del numero viene indicato il motivo.
L'offerta totale è il dato che un registrar approvato pubblica per lo strumento, mantenuto esattamente come riportato: mai arrotondato, riscalato o interpolato. Un'offerta che varia tra due osservazioni più di quanto l'emissione consenta viene segnalata dal controllo sui salti di offerta. L'offerta circolante e quella massima non vengono pubblicate.
Capitalizzazione di mercato
La capitalizzazione di mercato non è pubblicata. Richiede un dato sull'offerta circolante e non esiste una metodologia verificata dell'offerta circolante per gli strumenti Canton: distinguere l'offerta circolante da quella vincolata, detenuta in tesoreria o soggetta a restrizioni contrattuali è una questione di governance, non di dati.
L'API lo dichiara nel payload anziché restituire un campo vuoto: la risposta delle metriche globali contiene market_cap.semantics = "unavailable_circulating_supply". Finché quella metodologia non esisterà, una capitalizzazione di mercato per un asset Canton è un'ipotesi, e questo prodotto non pubblica ipotesi.
Posizione e rapporti
La posizione ordina ogni asset elencato in base a FDV, liquidità nei pool e volume mobile sulle 24 ore. Viene calcolata una sola volta sull'intero elenco, quindi un asset ha la stessa posizione in ogni pagina, in ogni valuta e con qualsiasi ordinamento.
Liquidità / FDV divide la liquidità in USD dei pool AMM di un asset per il suo FDV, contando ogni pool idoneo una sola volta. La profondità degli order book non è inclusa. Non ha un tetto: una valutazione piccola con pool profondi può superare il 100%.
Volume / FDV divide il miglior volume mobile sulle 24 ore disponibile per l'asset in USD, riportato oppure da operazioni osservate ma mai la loro somma, per il suo FDV: la quota della valutazione passata di mano in un giorno.
Ciascun rapporto viene omesso quando l'FDV manca, non è aggiornato o è zero, oppure quando non c'è nulla da dividere: un asset senza pool non ha un rapporto di liquidità. Ognuno riporta la sua copertura, quindi un dato costruito su una parte dei mercati lo dichiara.
Entrambi si leggono su un'unica scala di quattro fasce, indicate dalle barre accanto a ogni dato.
| Fascia | Intervallo | Liquidità / FDV | Volume / FDV |
|---|---|---|---|
| Esigua, Calmo | Sotto 1% | Esigua | Calmo |
| Scarsa, Leggero | Da 1% a 5% | Scarsa | Leggero |
| Moderata, Attivo | Da 5% a 10% | Moderata | Attivo |
| Profonda, Intenso | 10% e oltre | Profonda | Intenso |
Grafici: candele e linea
Le candele mostrano apertura, massimo, minimo e chiusura dell'asset in USD, aggregati dall'API sui mercati da cui ricava il prezzo dell'asset, con il volume sotto, se è stato pubblicato. I pulsanti scelgono il periodo coperto da una candela: 15m, 1h, 4h, 24h, 1W o 1M. I tre più brevi risalgono a circa duecento candele prima, 24h a un anno, 1W e 1M a tutta la cronologia.
L'API fornisce candele lunghe al massimo una settimana, quindi una candela mensile si costruisce da quelle giornaliere, per mese di calendario in UTC: apre alla prima apertura del mese, chiude all'ultima chiusura, va dal massimo più alto al minimo più basso e somma il volume pubblicato nei suoi giorni.
Le candele formano un'unica serie continua: ognuna apre dove ha chiuso la precedente, e un intervallo senza scambi è una candela piatta alla chiusura precedente, senza volume, anziché un vuoto. Massimo e minimo di una candela si allargano per includere la sua apertura, così il corpo non esce mai dallo stoppino.
La linea traccia il prezzo di riferimento stesso, su 24h, 1W, 1M, 1Y o Tutto, con un punto per intervallo, l'ultimo prezzo al suo interno: ogni 15 minuti sulle 24 ore, ogni ora su una settimana, ogni 4 ore su un mese e ogni giorno su un anno o più. È verde sopra il primo punto del periodo e rossa sotto.
Un grafico risale solo fin dove l'API conserva la cronologia e l'accesso del sito lo consente, e viene letto in finestre di al massimo 31 giorni. Se la cronologia di una fonte inizia quando CantonCap ha cominciato a osservarla, i periodi precedenti non esistono. La piccola linea in ogni riga della tabella mostra i prezzi di riferimento dell'asset nelle ultime 24 ore, ora per ora.
Frequenza di aggiornamento e timestamp
Le piattaforme vengono lette ogni 30 secondi fino a 5 minuti, a seconda di quanto consente ciascuna, e i prezzi di riferimento vengono ricalcolati circa una volta al minuto. Il sito riutilizza ogni risposta per un breve intervallo: 30 secondi per lo stato delle fonti, un minuto per prezzi, listing e mercati, cinque minuti per volume, piattaforme, grafici e sparkline. Una tabella dei mercati aperta controlla la presenza di nuovi prezzi ogni 45 secondi.
Tutti gli orari pubblicati dall'API sono in UTC, e il sito mostra i suoi orari in UTC. Un prezzo calcolato riporta l'ora del calcolo; una misura su una finestra riporta la fine della finestra che copre, non l'ora della lettura. Le finestre includono l'inizio ed escludono la fine. L'età di ogni dato è mostrata accanto, e l'app segnala i prezzi come in ritardo quando il più recente ha mezz'ora. Il grafico dell'app mostra l'asse nell'ora locale del telefono.
Dati di esempio e dati in tempo reale
Ogni dato viene letto dall'API di CantonCap quando la pagina viene generata, e ogni lettura registra se la risposta era in tempo reale. In produzione, un'API irraggiungibile produce un errore o un'assenza dichiarata, mai una pagina di dati inventati.
Le build di sviluppo e di anteprima possono mostrare un dataset di esempio fisso quando l'API non è raggiungibile. Una pagina basata su di esso riporta sempre un banner di dati di esempio che ne indica il motivo, e i suoi dati sono illustrativi, non un feed di mercato. I dati di esempio non vengono mai presentati come reali.
Osservatori, sentiment e post degli emittenti
«In N watchlist» conta i membri che hanno attualmente un asset nella propria watchlist, solo dalle liste dei membri che hanno effettuato l'accesso. È un totale; nessuna lista viene mai mostrata. Il sito lo aggiorna al massimo una volta al minuto.
L'indicatore del sentiment conta i membri, ciascuno una volta per asset. Il voto rialzista o ribassista di un membro sulla pagina dell'asset conta per sette giorni da quando è stato espresso; un membro che non ha votato viene conteggiato in base all'orientamento del suo post iniziale più recente sull'asset negli ultimi sette giorni, escludendo risposte, post nascosti e post eliminati. La quota rialzista dei membri che hanno preso posizione viene collocata su un quadrante di cinque zone uguali, da fortemente ribassista a fortemente rialzista. È un conteggio di opinioni, non un segnale, e resta vuoto quando nessuno ha espresso un orientamento.
Un feed dell'emittente mostra i post che un emittente o fornitore dell'asset pubblica su X, solo se l'API riporta un'associazione approvata tra quell'emittente e l'asset; nessun feed viene scelto in base alla corrispondenza di un simbolo. I post compaiono come pubblicati, con l'orario in UTC e un link all'originale. Un post modificato mostra la sua versione più recente, e i post trattenuti, protetti ed eliminati vengono rimossi. Una pagina aperta ricontrolla ogni 30 secondi e non mostra mai un post proveniente da una risposta più vecchia di 90 secondi. CantonCap non avalla ciò che pubblicano gli emittenti.
Copertura e ambito
Canton applica la privacy a livello di sotto-transazione: una parte riceve solo le porzioni di una transazione che la riguardano. Una piattaforma visibile a una chiave di integratore non è visibile pubblicamente, e un record di esecuzione limitato a una parte non è visibile a nessun altro. Ogni dato riporta quindi l'ambito in cui è stato osservato.