syntax = "proto3"; package kairos.v1; import "kairos/v1/common.proto"; option go_package = "github.com/kairos/proto/kairos/v1"; // OutcomeOHLC represents OHLC data for a single outcome message OutcomeOHLC { uint32 index = 1; string name = 2; string token_id = 3; // All prices scaled by 10000 (e.g., 6500 = 0.65) int32 open = 4; int32 high = 5; int32 low = 6; int32 close = 7; } // Candle represents an OHLC candle with multi-outcome support message Candle { Provider provider = 1; string contract_id = 2; // Timeframe in seconds (e.g., 60 for 1m, 3600 for 1h) uint32 timeframe_seconds = 3; // Bucket start timestamp in seconds since Unix epoch int64 bucket_start = 4; // Total volume scaled for precision int64 volume_scaled = 5; // OHLC data for each outcome repeated OutcomeOHLC outcomes = 6; // Sequence number for ordering uint64 seq = 7; // Timestamp of the trade that triggered this candle update int64 trade_ts = 8; }