syntax = "proto3"; option java_multiple_files = true; option java_package = "com.dexorder.proto"; message Market { string exchange_id = 2; // e.g., BINANCE string market_id = 3; // e.g., BTC/USDT string market_type = 4; // e.g., Spot, CryptoPerpetual string description = 5; // e.g., Bitcoin/Tether on Binance repeated string column_names = 6; // e.g., ['open', 'high', 'low', 'close', 'volume'] string base_asset = 9; // e.g., BTC string quote_asset = 10; // e.g., USDT uint64 earliest_time = 11; // nanoseconds since epoch repeated uint32 supported_period_seconds = 15; // Nautilus Instrument fields — used to construct Instrument objects in the sandbox bridge uint32 price_precision = 16; // decimal places for prices (e.g., 2 for $0.01 resolution) uint32 size_precision = 17; // decimal places for quantities double tick_size = 18; // minimum price increment (e.g., 0.01) double lot_size = 19; // minimum order size double min_notional = 20; // minimum order value in quote currency double margin_init = 21; // initial margin requirement (futures/perps only) double margin_maint = 22; // maintenance margin (futures/perps only) double maker_fee = 23; // maker fee rate (e.g., 0.001 = 0.1%) double taker_fee = 24; // taker fee rate double contract_multiplier = 25; // contract multiplier for derivatives (default 1.0) }