syntax = "proto3"; option java_multiple_files = true; option java_package = "com.dexorder.proto"; message Tick { // Unique identifier for the trade string trade_id = 1; // Market identifier in Nautilus format: "BTC/USDT.BINANCE" string ticker = 2; // Timestamp in nanoseconds since epoch uint64 timestamp = 3; // Price as a scaled integer (divide by 10^price_precision from Market metadata) int64 price = 4; // Base asset amount as a scaled integer (divide by 10^size_precision from Market metadata) int64 amount = 5; // Quote asset amount as a scaled integer int64 quote_amount = 6; // Side: true = taker buy (market buy), false = taker sell (market sell) bool taker_buy = 7; // Position effect: true = close position, false = open position // Only relevant for derivatives/futures markets optional bool to_close = 8; // Sequence number for ordering (if provided by exchange) optional uint64 sequence = 9; // Additional flags for special trade types optional TradeFlags flags = 10; } message TradeFlags { // Liquidation trade bool is_liquidation = 1; // Block trade (large OTC trade) bool is_block_trade = 2; // Maker side was a post-only order bool maker_post_only = 3; // Trade occurred during auction bool is_auction = 4; }