{
"version": 1,
"exchange": "binance",
"target": "elixir_pro",
"source": {
"manual": "wiki/Manual.md",
"typescript": "ts/src/pro/binance.ts",
"runtime": "elixir/lib/ccxt/pro/binance.ex"
},
"policy": {
"numericStorage": "decimal",
"rawRetention": "store raw exchange payloads separately and keep per-structure info when parser output exposes it",
"stateAndEventSplit": true
},
"structures": {
"ticker": {
"kind": "state",
"canonicalTable": "ccxt_tickers",
"historyTable": "ccxt_ticker_events",
"sourceMethods": [
"watch_ticker",
"watch_tickers",
"watch_mark_price",
"watch_mark_prices",
"watch_bids_asks",
"watch_multi_ticker_helper",
"fetch_ticker_ws",
"stream_ticker"
],
"primaryKey": ["exchange_id", "market_type", "symbol"],
"fields": {
"symbol": {"runtimeTypes": ["string"], "dbType": "text", "nullable": false},
"timestamp": {"runtimeTypes": ["integer"], "dbType": "bigint", "nullable": true},
"datetime": {"runtimeTypes": ["string"], "dbType": "utc_datetime_usec", "nullable": true},
"high": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"low": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"bid": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"bidVolume": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"ask": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"askVolume": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"vwap": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"open": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"close": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"last": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"previousClose": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"change": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"percentage": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"average": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"baseVolume": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"quoteVolume": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"markPrice": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"indexPrice": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"info": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false}
}
},
"trade": {
"kind": "event",
"canonicalTable": "ccxt_trades",
"sourceMethods": [
"watch_trades",
"watch_trades_for_symbols",
"watch_my_trades",
"fetch_trades_ws",
"fetch_my_trades_ws",
"stream_trades",
"stream_my_trades"
],
"primaryKey": ["exchange_id", "market_type", "symbol", "id"],
"fields": {
"id": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"order": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"timestamp": {"runtimeTypes": ["integer"], "dbType": "bigint", "nullable": true},
"datetime": {"runtimeTypes": ["string"], "dbType": "utc_datetime_usec", "nullable": true},
"symbol": {"runtimeTypes": ["string"], "dbType": "text", "nullable": false},
"type": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"side": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"takerOrMaker": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"price": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"amount": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"cost": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"fee": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": true},
"info": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false}
}
},
"order_book": {
"kind": "state",
"canonicalTable": "ccxt_order_books",
"historyTable": "ccxt_order_book_events",
"sourceMethods": [
"watch_order_book",
"watch_order_book_for_symbols",
"fetch_order_book_ws",
"stream_order_book"
],
"primaryKey": ["exchange_id", "market_type", "symbol"],
"fields": {
"symbol": {"runtimeTypes": ["string"], "dbType": "text", "nullable": false},
"bids": {"runtimeTypes": ["list"], "dbType": "jsonb", "nullable": false},
"asks": {"runtimeTypes": ["list"], "dbType": "jsonb", "nullable": false},
"timestamp": {"runtimeTypes": ["integer"], "dbType": "bigint", "nullable": true},
"datetime": {"runtimeTypes": ["string"], "dbType": "utc_datetime_usec", "nullable": true},
"nonce": {"runtimeTypes": ["integer"], "dbType": "bigint", "nullable": true},
"info": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false}
}
},
"ohlcv": {
"kind": "event",
"encoding": "array",
"canonicalTable": "ccxt_ohlcvs",
"sourceMethods": [
"watch_ohlcv",
"watch_ohlcv_for_symbols",
"fetch_ohlcv_ws",
"stream_ohlcv"
],
"primaryKey": ["exchange_id", "market_type", "symbol", "timeframe", "timestamp"],
"fields": {
"0": {"name": "timestamp", "runtimeTypes": ["integer"], "dbType": "bigint", "nullable": false},
"1": {"name": "open", "runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"2": {"name": "high", "runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"3": {"name": "low", "runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"4": {"name": "close", "runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"5": {"name": "volume", "runtimeTypes": ["number"], "dbType": "decimal", "nullable": true}
}
},
"balance": {
"kind": "state",
"canonicalTable": "ccxt_balances",
"historyTable": "ccxt_balance_events",
"sourceMethods": [
"fetch_balance_ws",
"watch_balance",
"stream_balance"
],
"primaryKey": ["exchange_id", "account_type", "currency"],
"fields": {
"free": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false},
"used": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false},
"total": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false}
},
"accountEntryFields": {
"free": {"runtimeTypes": ["number", "string"], "dbType": "decimal", "nullable": true},
"used": {"runtimeTypes": ["number", "string"], "dbType": "decimal", "nullable": true},
"total": {"runtimeTypes": ["number", "string"], "dbType": "decimal", "nullable": true}
}
},
"order": {
"kind": "state_and_event",
"canonicalTable": "ccxt_orders",
"historyTable": "ccxt_order_events",
"sourceMethods": [
"create_order_ws",
"edit_order_ws",
"cancel_order_ws",
"cancel_all_orders_ws",
"fetch_order_ws",
"fetch_orders_ws",
"fetch_open_orders_ws",
"fetch_closed_orders_ws",
"watch_orders",
"stream_orders"
],
"primaryKey": ["exchange_id", "market_type", "symbol", "id"],
"fields": {
"id": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"clientOrderId": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"timestamp": {"runtimeTypes": ["integer"], "dbType": "bigint", "nullable": true},
"datetime": {"runtimeTypes": ["string"], "dbType": "utc_datetime_usec", "nullable": true},
"lastTradeTimestamp": {"runtimeTypes": ["integer"], "dbType": "bigint", "nullable": true},
"symbol": {"runtimeTypes": ["string"], "dbType": "text", "nullable": false},
"type": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"timeInForce": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"side": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"price": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"amount": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"filled": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"remaining": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"cost": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"average": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"status": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"fee": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": true},
"trades": {"runtimeTypes": ["list"], "dbType": "jsonb", "nullable": true},
"info": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false}
}
},
"position": {
"kind": "state",
"canonicalTable": "ccxt_positions",
"historyTable": "ccxt_position_events",
"sourceMethods": [
"fetch_position_ws",
"fetch_positions_ws",
"watch_positions",
"stream_positions"
],
"primaryKey": ["exchange_id", "market_type", "symbol", "side"],
"fields": {
"symbol": {"runtimeTypes": ["string"], "dbType": "text", "nullable": false},
"timestamp": {"runtimeTypes": ["integer"], "dbType": "bigint", "nullable": true},
"datetime": {"runtimeTypes": ["string"], "dbType": "utc_datetime_usec", "nullable": true},
"contracts": {"runtimeTypes": ["number", "string"], "dbType": "decimal", "nullable": true},
"contractSize": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"entryPrice": {"runtimeTypes": ["number", "string"], "dbType": "decimal", "nullable": true},
"unrealizedPnl": {"runtimeTypes": ["number", "string"], "dbType": "decimal", "nullable": true},
"side": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"info": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false}
}
},
"liquidation": {
"kind": "event",
"canonicalTable": "ccxt_liquidations",
"sourceMethods": [
"watch_liquidations",
"watch_liquidations_for_symbols",
"watch_my_liquidations",
"watch_my_liquidations_for_symbols"
],
"primaryKey": ["exchange_id", "market_type", "symbol", "timestamp"],
"fields": {
"symbol": {"runtimeTypes": ["string"], "dbType": "text", "nullable": false},
"contracts": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"price": {"runtimeTypes": ["number"], "dbType": "decimal", "nullable": true},
"side": {"runtimeTypes": ["string"], "dbType": "text", "nullable": true},
"timestamp": {"runtimeTypes": ["integer"], "dbType": "bigint", "nullable": true},
"datetime": {"runtimeTypes": ["string"], "dbType": "utc_datetime_usec", "nullable": true},
"info": {"runtimeTypes": ["map"], "dbType": "jsonb", "nullable": false}
}
}
}
}