Last active
January 22, 2024 15:45
-
-
Save MtkN1/2d6d47adbbfae7e84fa75a04f1d3a964 to your computer and use it in GitHub Desktop.
Binance Spot Pydantic Models from datamodel-code-generator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # generated by datamodel-codegen: | |
| # filename: https://github.com/binance/binance-api-swagger/raw/master/spot_api.yaml | |
| # timestamp: 2024-01-22T15:18:47+00:00 | |
| from __future__ import annotations | |
| from typing import List, Optional | |
| from pydantic import BaseModel, Field, RootModel | |
| class CommissionRates(BaseModel): | |
| maker: str = Field(..., examples=['0.00150000']) | |
| taker: str = Field(..., examples=['0.00150000']) | |
| buyer: str = Field(..., examples=['0.00000000']) | |
| seller: str = Field(..., examples=['0.00000000']) | |
| class Balance(BaseModel): | |
| asset: str = Field(..., examples=['BTC']) | |
| free: str = Field(..., examples=['4723846.89208129']) | |
| locked: str = Field(..., examples=['0.00000000']) | |
| class Account(BaseModel): | |
| makerCommission: int = Field(..., examples=[15]) | |
| takerCommission: int = Field(..., examples=[15]) | |
| buyerCommission: int = Field(..., examples=[0]) | |
| sellerCommission: int = Field(..., examples=[0]) | |
| commissionRates: CommissionRates | |
| canTrade: bool | |
| canWithdraw: bool | |
| canDeposit: bool | |
| brokered: bool = Field(..., examples=[False]) | |
| requireSelfTradePrevention: bool = Field(..., examples=[False]) | |
| preventSor: bool = Field(..., examples=[False]) | |
| updateTime: int = Field(..., examples=[123456789]) | |
| accountType: str = Field(..., examples=['SPOT']) | |
| balances: List[Balance] | |
| permissions: List[str] | |
| uid: int = Field(..., examples=[354937868]) | |
| class Order(BaseModel): | |
| symbol: str = Field(..., examples=['BNBBTC']) | |
| origClientOrderId: str = Field(..., examples=['msXkySR3u5uYwpvRMFsi3u']) | |
| orderId: int = Field(..., examples=[28]) | |
| orderListId: int = Field( | |
| ..., description='Unless OCO, value will be -1', examples=[-1] | |
| ) | |
| clientOrderId: str = Field(..., examples=['6gCrw2kRUAF9CvJDGP16IP']) | |
| transactTime: int = Field(..., examples=[1507725176595]) | |
| price: str = Field(..., examples=['1.00000000']) | |
| origQty: str = Field(..., examples=['10.00000000']) | |
| executedQty: str = Field(..., examples=['10.00000000']) | |
| cummulativeQuoteQty: str = Field(..., examples=['10.00000000']) | |
| status: str = Field(..., examples=['FILLED']) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['LIMIT']) | |
| side: str = Field(..., examples=['SELL']) | |
| selfTradePreventionMode: str = Field(..., examples=['NONE']) | |
| class Order1(BaseModel): | |
| symbol: str | |
| orderId: int | |
| clientOrderId: str | |
| class OrderReport(BaseModel): | |
| symbol: str | |
| origClientOrderId: str | |
| orderId: int | |
| orderListId: int | |
| clientOrderId: str | |
| price: str | |
| origQty: str | |
| executedQty: str | |
| cummulativeQuoteQty: str | |
| status: str | |
| timeInForce: str | |
| type: str | |
| side: str | |
| stopPrice: str | |
| selfTradePreventionMode: str | |
| transactTime: int | |
| class OcoOrder(BaseModel): | |
| orderListId: int = Field(..., examples=[1929]) | |
| contingencyType: str = Field(..., examples=['OCO']) | |
| listStatusType: str = Field(..., examples=['ALL_DONE']) | |
| listOrderStatus: str = Field(..., examples=['ALL_DONE']) | |
| listClientOrderId: str = Field(..., examples=['C3wyj4WVEktd7u9aVBRXcN']) | |
| transactionTime: int = Field(..., examples=[1574040868128]) | |
| symbol: str = Field(..., examples=['BNBBTC']) | |
| orders: List[Order1] = Field( | |
| ..., | |
| examples=[ | |
| [ | |
| { | |
| 'symbol': 'BNBBTC', | |
| 'orderId': 2, | |
| 'clientOrderId': 'pO9ufTiFGg3nw2fOdgeOXa', | |
| }, | |
| { | |
| 'symbol': 'BNBBTC', | |
| 'orderId': 3, | |
| 'clientOrderId': 'TXOvglzXuaubXAaENpaRCB', | |
| }, | |
| ] | |
| ], | |
| ) | |
| orderReports: List[OrderReport] = Field( | |
| ..., | |
| examples=[ | |
| [ | |
| { | |
| 'symbol': 'BNBBTC', | |
| 'origClientOrderId': 'pO9ufTiFGg3nw2fOdgeOXa', | |
| 'orderId': 2, | |
| 'orderListId': 0, | |
| 'clientOrderId': 'unfWT8ig8i0uj6lPuYLez6', | |
| 'price': '1.00000000', | |
| 'origQty': '10.00000000', | |
| 'executedQty': '0.00000000', | |
| 'cummulativeQuoteQty': '0.00000000', | |
| 'status': 'CANCELED', | |
| 'timeInForce': 'GTC', | |
| 'type': 'STOP_LOSS_LIMIT', | |
| 'side': 'SELL', | |
| 'stopPrice': '1.00000000', | |
| 'transactTime': 1688005070874, | |
| }, | |
| { | |
| 'symbol': 'BNBBTC', | |
| 'origClientOrderId': 'TXOvglzXuaubXAaENpaRCB', | |
| 'orderId': 3, | |
| 'orderListId': 0, | |
| 'clientOrderId': 'unfWT8ig8i0uj6lPuYLez6', | |
| 'price': '3.00000000', | |
| 'origQty': '10.00000000', | |
| 'executedQty': '0.00000000', | |
| 'cummulativeQuoteQty': '0.00000000', | |
| 'status': 'CANCELED', | |
| 'timeInForce': 'GTC', | |
| 'type': 'LIMIT_MAKER', | |
| 'side': 'SELL', | |
| 'selfTradePreventionMode': 'NONE', | |
| 'transactTime': 1688005070874, | |
| }, | |
| ] | |
| ], | |
| ) | |
| class OrderReport1(BaseModel): | |
| symbol: str | |
| origClientOrderId: str | |
| orderId: int | |
| orderListId: int | |
| clientOrderId: str | |
| price: str | |
| origQty: str | |
| executedQty: str | |
| cummulativeQuoteQty: str | |
| status: str | |
| timeInForce: str | |
| type: str | |
| side: str | |
| stopPrice: str | |
| class MarginOcoOrder(BaseModel): | |
| orderListId: int = Field(..., examples=[0]) | |
| contingencyType: str = Field(..., examples=['OCO']) | |
| listStatusType: str = Field(..., examples=['ALL_DONE']) | |
| listOrderStatus: str = Field(..., examples=['ALL_DONE']) | |
| listClientOrderId: str = Field(..., examples=['C3wyj4WVEktd7u9aVBRXcN']) | |
| transactionTime: int = Field(..., examples=[1574040868128]) | |
| symbol: str = Field(..., examples=['BNBUSDT']) | |
| isIsolated: bool = Field(..., examples=[False]) | |
| orders: List[Order1] | |
| orderReports: List[OrderReport1] | |
| class OrderDetails(BaseModel): | |
| symbol: str = Field(..., examples=['LTCBTC']) | |
| orderId: int = Field(..., examples=[1]) | |
| orderListId: int = Field( | |
| ..., description='Unless OCO, value will be -1', examples=[-1] | |
| ) | |
| clientOrderId: str = Field(..., examples=['myOrder1']) | |
| price: str = Field(..., examples=['0.1']) | |
| origQty: str = Field(..., examples=['1.0']) | |
| executedQty: str = Field(..., examples=['0.0']) | |
| cummulativeQuoteQty: str = Field(..., examples=['0.0']) | |
| status: str = Field(..., examples=['NEW']) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['LIMIT']) | |
| side: str = Field(..., examples=['BUY']) | |
| stopPrice: str = Field(..., examples=['0.0']) | |
| icebergQty: str = Field(..., examples=['0.0']) | |
| time: int = Field(..., examples=[1499827319559]) | |
| updateTime: int = Field(..., examples=[1499827319559]) | |
| isWorking: bool | |
| workingTime: int = Field(..., examples=[1499827319559]) | |
| origQuoteOrderQty: str = Field(..., examples=['0.00000000']) | |
| selfTradePreventionMode: str = Field(..., examples=['NONE']) | |
| preventedMatchId: Optional[int] = Field(None, examples=[0]) | |
| preventedQuantity: Optional[str] = Field(None, examples=['1.200000']) | |
| class OrderResponseAck(BaseModel): | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| orderId: int = Field(..., examples=[28]) | |
| orderListId: int = Field(..., examples=[-1]) | |
| clientOrderId: str = Field(..., examples=['6gCrw2kRUAF9CvJDGP16IP']) | |
| transactTime: int = Field(..., examples=[1507725176595]) | |
| class OrderResponseResult(BaseModel): | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| orderId: int = Field(..., examples=[28]) | |
| orderListId: int = Field(..., examples=[-1]) | |
| clientOrderId: str = Field(..., examples=['6gCrw2kRUAF9CvJDGP16IP']) | |
| transactTime: int = Field(..., examples=[1507725176595]) | |
| price: str = Field(..., examples=['0.00000000']) | |
| origQty: str = Field(..., examples=['10.00000000']) | |
| executedQty: str = Field(..., examples=['10.00000000']) | |
| cummulativeQuoteQty: str = Field(..., examples=['10.00000000']) | |
| status: str = Field(..., examples=['FILLED']) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['MARKET']) | |
| side: str = Field(..., examples=['SELL']) | |
| strategyId: Optional[int] = Field(None, examples=[1]) | |
| strategyType: Optional[int] = Field(None, examples=[1000000]) | |
| workingTime: int = Field(..., examples=[1507725176595]) | |
| selfTradePreventionMode: str = Field(..., examples=['NONE']) | |
| class Fill(BaseModel): | |
| price: str = Field(..., examples=['4000.00000000']) | |
| qty: str = Field(..., examples=['1.00000000']) | |
| commission: str = Field(..., examples=['4.00000000']) | |
| commissionAsset: str = Field(..., examples=['USDT']) | |
| class OrderResponseFull(BaseModel): | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| orderId: int = Field(..., examples=[28]) | |
| orderListId: int = Field(..., examples=[-1]) | |
| clientOrderId: str = Field(..., examples=['6gCrw2kRUAF9CvJDGP16IP']) | |
| transactTime: int = Field(..., examples=[1507725176595]) | |
| price: str = Field(..., examples=['0.00000000']) | |
| origQty: str = Field(..., examples=['10.00000000']) | |
| executedQty: str = Field(..., examples=['10.00000000']) | |
| cummulativeQuoteQty: str = Field(..., examples=['10.00000000']) | |
| status: str = Field(..., examples=['FILLED']) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['MARKET']) | |
| side: str = Field(..., examples=['SELL']) | |
| strategyId: Optional[int] = Field(None, examples=[1]) | |
| strategyType: Optional[int] = Field(None, examples=[1000000]) | |
| workingTime: int = Field(..., examples=[1507725176595]) | |
| selfTradePreventionMode: str = Field(..., examples=['NONE']) | |
| fills: List[Fill] | |
| class MarginOrder(BaseModel): | |
| symbol: str = Field(..., examples=['LTCBTC']) | |
| orderId: int = Field(..., examples=[28]) | |
| origClientOrderId: str = Field(..., examples=['msXkySR3u5uYwpvRMFsi3u']) | |
| clientOrderId: str = Field(..., examples=['6gCrw2kRUAF9CvJDGP16IP']) | |
| price: str = Field(..., examples=['1.00000000']) | |
| origQty: str = Field(..., examples=['10.00000000']) | |
| executedQty: str = Field(..., examples=['8.00000000']) | |
| cummulativeQuoteQty: str = Field(..., examples=['8.00000000']) | |
| status: str = Field(..., examples=['CANCELED']) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['LIMIT']) | |
| side: str = Field(..., examples=['SELL']) | |
| class MarginOrderDetail(BaseModel): | |
| clientOrderId: str = Field(..., examples=['ZwfQzuDIGpceVhKW5DvCmO']) | |
| cummulativeQuoteQty: str = Field(..., examples=['0.00000000']) | |
| executedQty: str = Field(..., examples=['0.00000000']) | |
| icebergQty: str = Field(..., examples=['0.00000000']) | |
| isWorking: bool | |
| orderId: int = Field(..., examples=[213205622]) | |
| origQty: str = Field(..., examples=['0.30000000']) | |
| price: str = Field(..., examples=['0.00493630']) | |
| side: str = Field(..., examples=['SELL']) | |
| status: str = Field(..., examples=['NEW']) | |
| stopPrice: str = Field(..., examples=['0.00000000']) | |
| symbol: str = Field(..., examples=['BNBBTC']) | |
| isIsolated: bool | |
| time: int = Field(..., examples=[1562133008725]) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['LIMIT']) | |
| updateTime: int = Field(..., examples=[1562133008725]) | |
| selfTradePreventionMode: str = Field(..., examples=['NONE']) | |
| class CanceledMarginOrderDetail(BaseModel): | |
| symbol: str = Field(..., examples=['BNBUSDT']) | |
| isIsolated: bool | |
| origClientOrderId: str = Field(..., examples=['E6APeyTJvkMvLMYMqu1KQ4']) | |
| orderId: int = Field(..., examples=[11]) | |
| orderListId: int = Field(..., examples=[-1]) | |
| clientOrderId: str = Field(..., examples=['pXLV6Hz6mprAcVYpVMTGgx']) | |
| price: str = Field(..., examples=['0.089853']) | |
| origQty: str = Field(..., examples=['0.178622']) | |
| executedQty: str = Field(..., examples=['0.000000']) | |
| cummulativeQuoteQty: str = Field(..., examples=['0.000000']) | |
| status: str = Field(..., examples=['CANCELED']) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['LIMIT']) | |
| side: str = Field(..., examples=['BUY']) | |
| class MarginOrderResponseAck(BaseModel): | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| orderId: int = Field(..., examples=[28]) | |
| clientOrderId: str = Field(..., examples=['6gCrw2kRUAF9CvJDGP16IP']) | |
| isIsolated: bool | |
| transactTime: int = Field(..., examples=[1507725176595]) | |
| class MarginOrderResponseResult(BaseModel): | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| orderId: int = Field(..., examples=[28]) | |
| clientOrderId: str = Field(..., examples=['6gCrw2kRUAF9CvJDGP16IP']) | |
| transactTime: int = Field(..., examples=[1507725176595]) | |
| price: str = Field(..., examples=['1.00000000']) | |
| origQty: str = Field(..., examples=['10.00000000']) | |
| executedQty: str = Field(..., examples=['10.00000000']) | |
| cummulativeQuoteQty: str = Field(..., examples=['10.00000000']) | |
| status: str = Field(..., examples=['FILLED']) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['MARKET']) | |
| isIsolated: bool | |
| side: str = Field(..., examples=['SELL']) | |
| class MarginOrderResponseFull(BaseModel): | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| orderId: int = Field(..., examples=[28]) | |
| clientOrderId: str = Field(..., examples=['6gCrw2kRUAF9CvJDGP16IP']) | |
| transactTime: int = Field(..., examples=[1507725176595]) | |
| price: str = Field(..., examples=['1.00000000']) | |
| origQty: str = Field(..., examples=['10.00000000']) | |
| executedQty: str = Field(..., examples=['10.00000000']) | |
| cummulativeQuoteQty: str = Field(..., examples=['10.00000000']) | |
| status: str = Field(..., examples=['FILLED']) | |
| timeInForce: str = Field(..., examples=['GTC']) | |
| type: str = Field(..., examples=['MARKET']) | |
| side: str = Field(..., examples=['SELL']) | |
| marginBuyBorrowAmount: float = Field( | |
| ..., description='will not return if no margin trade happens', examples=[5] | |
| ) | |
| marginBuyBorrowAsset: str = Field( | |
| ..., description='will not return if no margin trade happens', examples=['BTC'] | |
| ) | |
| isIsolated: bool | |
| fills: List[Fill] | |
| class MarginTrade(BaseModel): | |
| commission: str = Field(..., examples=['0.00006000']) | |
| commissionAsset: str = Field(..., examples=['BTC']) | |
| id: int = Field(..., examples=[28]) | |
| isBestMatch: bool | |
| isBuyer: bool | |
| isMaker: bool | |
| orderId: int = Field(..., examples=[28]) | |
| price: str = Field(..., examples=['0.02000000']) | |
| qty: str = Field(..., examples=['1.02000000']) | |
| symbol: str = Field(..., examples=['BNBBTC']) | |
| isIsolated: bool = Field(..., examples=[False]) | |
| time: int = Field(..., examples=[1507725176595]) | |
| class Row(BaseModel): | |
| amount: str = Field(..., examples=['0.10000000']) | |
| asset: str = Field(..., examples=['BNB']) | |
| status: str = Field(..., examples=['CONFIRMED']) | |
| timestamp: int = Field(..., examples=[1566898617000]) | |
| txId: int = Field(..., examples=[5240372201]) | |
| type: Optional[str] = Field(None, examples=['ROLL_IN']) | |
| transFrom: str = Field(..., examples=['SPOT']) | |
| transTo: str = Field(..., examples=['ISOLATED_MARGIN']) | |
| class MarginTransferDetails(BaseModel): | |
| rows: List[Row] | |
| total: int = Field(..., examples=[1]) | |
| class BaseAsset(BaseModel): | |
| asset: str = Field(..., examples=['BTC']) | |
| borrowEnabled: bool | |
| borrowed: str = Field(..., examples=['0.00000000']) | |
| free: str = Field(..., examples=['0.00000000']) | |
| interest: str = Field(..., examples=['0.00000000']) | |
| locked: str = Field(..., examples=['0.00000000']) | |
| netAsset: str = Field(..., examples=['0.00000000']) | |
| netAssetOfBtc: str = Field(..., examples=['0.00000000']) | |
| repayEnabled: bool | |
| totalAsset: str = Field(..., examples=['0.00000000']) | |
| class QuoteAsset(BaseModel): | |
| asset: str = Field(..., examples=['USDT']) | |
| borrowEnabled: bool | |
| borrowed: str = Field(..., examples=['0.00000000']) | |
| free: str = Field(..., examples=['0.00000000']) | |
| interest: str = Field(..., examples=['0.00000000']) | |
| locked: str = Field(..., examples=['0.00000000']) | |
| netAsset: str = Field(..., examples=['0.00000000']) | |
| netAssetOfBtc: str = Field(..., examples=['0.00000000']) | |
| repayEnabled: bool | |
| totalAsset: str = Field(..., examples=['0.00000000']) | |
| class Asset(BaseModel): | |
| baseAsset: BaseAsset | |
| quoteAsset: QuoteAsset | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| isolatedCreated: bool | |
| enabled: bool = Field(..., description='true-enabled, false-disabled') | |
| marginLevel: str = Field(..., examples=['0.00000000']) | |
| marginLevelStatus: str = Field( | |
| ..., | |
| description='"EXCESSIVE", "NORMAL", "MARGIN_CALL", "PRE_LIQUIDATION", "FORCE_LIQUIDATION"', | |
| examples=['EXCESSIVE'], | |
| ) | |
| marginRatio: str = Field(..., examples=['0.00000000']) | |
| indexPrice: str = Field(..., examples=['10000.00000000']) | |
| liquidatePrice: str = Field(..., examples=['1000.00000000']) | |
| liquidateRate: str = Field(..., examples=['1.00000000']) | |
| tradeEnabled: bool | |
| class IsolatedMarginAccountInfo(BaseModel): | |
| assets: List[Asset] | |
| totalAssetOfBtc: str = Field(..., examples=['0.00000000']) | |
| totalLiabilityOfBtc: str = Field(..., examples=['0.00000000']) | |
| totalNetAssetOfBtc: str = Field(..., examples=['0.00000000']) | |
| class BookTicker(BaseModel): | |
| symbol: str = Field(..., examples=['BNBBTC']) | |
| bidPrice: str = Field(..., examples=['16.36240000']) | |
| bidQty: str = Field(..., examples=['256.78000000']) | |
| askPrice: str = Field(..., examples=['16.36450000']) | |
| askQty: str = Field(..., examples=['12.56000000']) | |
| class PriceTicker(BaseModel): | |
| symbol: str = Field(..., examples=['BNBBTC']) | |
| price: str = Field(..., examples=['0.17160000']) | |
| class RepaymentInfo(BaseModel): | |
| loanCoin: str = Field(..., examples=['BUSD']) | |
| remainingPrincipal: str = Field(..., examples=['100.5']) | |
| remainingInterest: str = Field(..., examples=['0']) | |
| collateralCoin: str = Field(..., examples=['BNB']) | |
| remainingCollateral: str = Field(..., examples=['5.253']) | |
| currentLTV: str = Field(..., examples=['0.25']) | |
| repayStatus: str = Field(..., examples=['Repaying']) | |
| class RepaymentInfo2(BaseModel): | |
| loanCoin: str = Field(..., examples=['BUSD']) | |
| collateralCoin: str = Field(..., examples=['BNB']) | |
| repayStatus: str = Field(..., examples=['Repaying']) | |
| class Ticker(BaseModel): | |
| symbol: str = Field(..., examples=['BNBBTC']) | |
| priceChange: str = Field(..., examples=['0.17160000']) | |
| priceChangePercent: str = Field(..., examples=['1.060']) | |
| prevClosePrice: str = Field(..., examples=['16.35920000']) | |
| lastPrice: str = Field(..., examples=['27.84000000']) | |
| bidPrice: str = Field(..., examples=['16.34488284']) | |
| bidQty: str = Field(..., examples=['16.34488284']) | |
| askPrice: str = Field(..., examples=['16.35920000']) | |
| askQty: str = Field(..., examples=['25.06000000']) | |
| openPrice: str = Field(..., examples=['16.18760000']) | |
| highPrice: str = Field(..., examples=['16.55000000']) | |
| lowPrice: str = Field(..., examples=['16.16940000']) | |
| volume: str = Field(..., examples=['1678279.95000000']) | |
| quoteVolume: str = Field(..., examples=['27431289.14792300']) | |
| openTime: int = Field(..., examples=[1592808788637]) | |
| closeTime: int = Field(..., examples=[1592895188637]) | |
| firstId: int = Field(..., examples=[62683296]) | |
| lastId: int = Field(..., examples=[62739253]) | |
| count: int = Field(..., examples=[55958]) | |
| class MyTrade(BaseModel): | |
| symbol: str = Field(..., examples=['BNBBTC']) | |
| id: int = Field(..., description='Trade id', examples=[28457]) | |
| orderId: int = Field(..., examples=[100234]) | |
| orderListId: int = Field(..., examples=[-1]) | |
| price: str = Field(..., description='Price', examples=['4.00000100']) | |
| qty: str = Field(..., description='Amount of base asset', examples=['12.00000000']) | |
| quoteQty: str = Field( | |
| ..., description='Amount of quote asset', examples=['48.000012'] | |
| ) | |
| commission: str = Field(..., examples=['10.10000000']) | |
| commissionAsset: str = Field(..., examples=['BNB']) | |
| time: int = Field(..., description='Trade timestamp', examples=[1499865549590]) | |
| isBuyer: bool = Field(..., examples=[False]) | |
| isMaker: bool = Field(..., examples=[False]) | |
| isBestMatch: bool | |
| class Transaction(BaseModel): | |
| tranId: int = Field(..., description='transaction id', examples=[345196462]) | |
| class Trade(BaseModel): | |
| id: int = Field(..., description='trade id', examples=[345196462]) | |
| price: str = Field(..., description='price', examples=['9638.99000000']) | |
| qty: str = Field(..., description='amount of base asset', examples=['0.02077200']) | |
| quoteQty: str = Field( | |
| ..., description='amount of quote asset', examples=['0.02077200'] | |
| ) | |
| time: int = Field( | |
| ..., | |
| description='Trade executed timestamp, as same as `T` in the stream', | |
| examples=[1592887772684], | |
| ) | |
| isBuyerMaker: bool | |
| isBestMatch: bool | |
| class AggTrade(BaseModel): | |
| a: int = Field(..., description='Aggregate tradeId', examples=[26129]) | |
| p: str = Field(..., description='Price', examples=['0.01633102']) | |
| q: str = Field(..., description='Quantity', examples=['4.70443515']) | |
| f: int = Field(..., description='First tradeId', examples=[27781]) | |
| l: int = Field(..., description='Last tradeId', examples=[27781]) | |
| T: bool = Field(..., description='Timestamp', examples=[1498793709153]) | |
| m: bool = Field(..., description='Was the buyer the maker?') | |
| M: bool = Field(..., description='Was the trade the best price match?') | |
| class BnbBurnStatus(BaseModel): | |
| spotBNBBurn: bool | |
| interestBNBBurn: bool = Field(..., examples=[False]) | |
| class Balance1(BaseModel): | |
| asset: str = Field(..., examples=['BTC']) | |
| free: str = Field(..., examples=['0.2']) | |
| locked: str = Field(..., examples=['0.001']) | |
| class Data(BaseModel): | |
| balances: List[Balance1] | |
| totalAssetOfBtc: str = Field(..., examples=['0.09905021']) | |
| class SnapshotVo(BaseModel): | |
| data: Data | |
| type: str = Field(..., examples=['spot']) | |
| updateTime: int = Field(..., examples=[1576281599000]) | |
| class SnapshotSpot(BaseModel): | |
| code: int = Field(..., examples=[200]) | |
| msg: str = Field(..., examples=['']) | |
| snapshotVos: List[SnapshotVo] | |
| class UserAsset(BaseModel): | |
| asset: str = Field(..., examples=['XRP']) | |
| borrowed: str = Field(..., examples=['0.00000000']) | |
| free: str = Field(..., examples=['1.00000000']) | |
| interest: str = Field(..., examples=['0.00000000']) | |
| locked: str = Field(..., examples=['0.00000000']) | |
| netAsset: str = Field(..., examples=['1.00000000']) | |
| class Data1(BaseModel): | |
| marginLevel: str = Field(..., examples=['2748.02909813']) | |
| totalAssetOfBtc: str = Field(..., examples=['0.00274803']) | |
| totalLiabilityOfBtc: str = Field(..., examples=['0.00000100']) | |
| totalNetAssetOfBtc: str = Field(..., examples=['0.00274750']) | |
| userAssets: List[UserAsset] | |
| class SnapshotVo1(BaseModel): | |
| data: Data1 | |
| type: str = Field(..., examples=['margin']) | |
| updateTime: int = Field(..., examples=[1576281599000]) | |
| class SnapshotMargin(BaseModel): | |
| code: int = Field(..., examples=[200]) | |
| msg: str = Field(..., examples=['']) | |
| snapshotVos: List[SnapshotVo1] | |
| class Asset1(BaseModel): | |
| asset: str = Field(..., examples=['USDT']) | |
| marginBalance: str = Field(..., examples=['118.99782335']) | |
| walletBalance: str = Field(..., examples=['120.23811389']) | |
| class PositionItem(BaseModel): | |
| entryPrice: str = Field(..., examples=['7130.41000000']) | |
| markPrice: str = Field(..., examples=['7257.66239673']) | |
| positionAmt: str = Field(..., examples=['0.01000000']) | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| unRealizedProfit: str = Field(..., examples=['1.24029054']) | |
| class Data2(BaseModel): | |
| assets: List[Asset1] | |
| position: List[PositionItem] | |
| class SnapshotVo2(BaseModel): | |
| data: Data2 | |
| type: str = Field(..., examples=['futures']) | |
| updateTime: int = Field(..., examples=[1576281599000]) | |
| class SnapshotFutures(BaseModel): | |
| code: int = Field(..., examples=[200]) | |
| msg: str = Field(..., examples=['']) | |
| snapshotVos: List[SnapshotVo2] | |
| class Asset2(BaseModel): | |
| asset: str = Field(..., examples=['USDT']) | |
| initialMargin: str = Field(..., examples=['0.00000000']) | |
| maintenanceMargin: str = Field(..., examples=['0.00000000']) | |
| marginBalance: str = Field(..., examples=['0.88308000']) | |
| maxWithdrawAmount: str = Field(..., examples=['0.88308000']) | |
| openOrderInitialMargin: str = Field(..., examples=['0.00000000']) | |
| positionInitialMargin: str = Field(..., examples=['0.00000000']) | |
| unrealizedProfit: str = Field(..., examples=['0.00000000']) | |
| walletBalance: str = Field(..., examples=['0.88308000']) | |
| class FutureAccountResp(BaseModel): | |
| email: str = Field(..., examples=['abc@test.com']) | |
| assets: List[Asset2] | |
| canDeposit: bool | |
| canTrade: bool | |
| canWithdraw: bool | |
| feeTier: int = Field(..., examples=[2]) | |
| maxWithdrawAmount: str = Field(..., examples=['0.88308000']) | |
| totalInitialMargin: str = Field(..., examples=['0.00000000']) | |
| totalMaintenanceMargin: str = Field(..., examples=['0.00000000']) | |
| totalMarginBalance: str = Field(..., examples=['0.88308000']) | |
| totalOpenOrderInitialMargin: str = Field(..., examples=['0.00000000']) | |
| totalPositionInitialMargin: str = Field(..., examples=['0.00000000']) | |
| totalUnrealizedProfit: str = Field(..., examples=['0.00000000']) | |
| totalWalletBalance: str = Field(..., examples=['0.88308000']) | |
| updateTime: int = Field(..., examples=[1576756674610]) | |
| class SubAccountUSDTFuturesDetails(BaseModel): | |
| futureAccountResp: FutureAccountResp | |
| class Asset3(BaseModel): | |
| asset: str = Field(..., examples=['BTC']) | |
| initialMargin: str = Field(..., examples=['0.00000000']) | |
| maintenanceMargin: str = Field(..., examples=['0.00000000']) | |
| marginBalance: str = Field(..., examples=['0.88308000']) | |
| maxWithdrawAmount: str = Field(..., examples=['0.88308000']) | |
| openOrderInitialMargin: str = Field(..., examples=['0.00000000']) | |
| positionInitialMargin: str = Field(..., examples=['0.00000000']) | |
| unrealizedProfit: str = Field(..., examples=['0.00000000']) | |
| walletBalance: str = Field(..., examples=['0.88308000']) | |
| class SubAccountCOINFuturesDetails(BaseModel): | |
| email: str = Field(..., examples=['abc@test.com']) | |
| assets: List[Asset3] | |
| canDeposit: bool | |
| canTrade: bool | |
| canWithdraw: bool | |
| feeTier: int = Field(..., examples=[2]) | |
| updateTime: int = Field(..., examples=[1598959682001]) | |
| class SubAccountListItem(BaseModel): | |
| email: str = Field(..., examples=['123@test.com']) | |
| totalInitialMargin: str = Field(..., examples=['9.00000000']) | |
| totalMaintenanceMargin: str = Field(..., examples=['0.00000000']) | |
| totalMarginBalance: str = Field(..., examples=['22.12659734']) | |
| totalOpenOrderInitialMargin: str = Field(..., examples=['9.00000000']) | |
| totalPositionInitialMargin: str = Field(..., examples=['0.00000000']) | |
| totalUnrealizedProfit: str = Field(..., examples=['0.00000000']) | |
| totalWalletBalance: str = Field(..., examples=['22.12659734']) | |
| asset: str = Field(..., description='The sum of BUSD and USDT', examples=['USD']) | |
| class FutureAccountSummaryResp(BaseModel): | |
| totalInitialMargin: str = Field(..., examples=['9.83137400']) | |
| totalMaintenanceMargin: str = Field(..., examples=['0.41568700']) | |
| totalMarginBalance: str = Field(..., examples=['23.03235621']) | |
| totalOpenOrderInitialMargin: str = Field(..., examples=['9.00000000']) | |
| totalPositionInitialMargin: str = Field(..., examples=['0.83137400']) | |
| totalUnrealizedProfit: str = Field(..., examples=['0.03219710']) | |
| totalWalletBalance: str = Field(..., examples=['22.15879444']) | |
| asset: str = Field(..., description='The sum of BUSD and USDT', examples=['USD']) | |
| subAccountList: List[SubAccountListItem] | |
| class SubAccountUSDTFuturesSummary(BaseModel): | |
| futureAccountSummaryResp: FutureAccountSummaryResp | |
| class SubAccountListItem1(BaseModel): | |
| email: str = Field(..., examples=['123@test.com']) | |
| totalMarginBalance: str = Field(..., examples=[22.12659734]) | |
| totalUnrealizedProfit: str = Field(..., examples=[0.0]) | |
| totalWalletBalance: str = Field(..., examples=[22.12659734]) | |
| asset: str = Field(..., examples=['BTC']) | |
| class DeliveryAccountSummaryResp(BaseModel): | |
| totalMarginBalanceOfBTC: str = Field(..., examples=[25.03221121]) | |
| totalUnrealizedProfitOfBTC: str = Field(..., examples=[0.1223341]) | |
| totalWalletBalanceOfBTC: str = Field(..., examples=[22.15879444]) | |
| asset: str = Field(..., examples=['BTC']) | |
| subAccountList: List[SubAccountListItem1] | |
| class SubAccountCOINFuturesSummary(BaseModel): | |
| deliveryAccountSummaryResp: DeliveryAccountSummaryResp | |
| class FuturePositionRiskVo(BaseModel): | |
| entryPrice: str = Field(..., examples=['9975.12000']) | |
| leverage: str = Field(..., description='current initial leverage', examples=['50']) | |
| maxNotional: str = Field( | |
| ..., | |
| description='notional value limit of current initial leverage', | |
| examples=['1000000'], | |
| ) | |
| liquidationPrice: str = Field(..., examples=['7963.54']) | |
| markPrice: str = Field(..., examples=['9973.50770517']) | |
| positionAmount: str = Field(..., examples=['0.010']) | |
| symbol: str = Field(..., examples=['BTCUSDT']) | |
| unrealizedProfit: str = Field(..., examples=['-0.01612295']) | |
| class SubAccountUSDTFuturesPositionRisk(BaseModel): | |
| futurePositionRiskVos: List[FuturePositionRiskVo] | |
| class DeliveryPositionRiskVo(BaseModel): | |
| entryPrice: str = Field(..., examples=['9975.12000']) | |
| markPrice: str = Field(..., examples=['9973.50770517']) | |
| leverage: str = Field(..., examples=['20']) | |
| isolated: str = Field(..., examples=[False]) | |
| isolatedWallet: str = Field(..., examples=['9973.50770517']) | |
| isolatedMargin: str = Field(..., examples=['0.00000000']) | |
| isAutoAddMargin: str = Field(..., examples=['false']) | |
| positionSide: str = Field(..., examples=['BOTH']) | |
| positionAmount: str = Field(..., examples=['1.230']) | |
| symbol: str = Field(..., examples=['BTCUSD_201225']) | |
| unrealizedProfit: str = Field(..., examples=['-0.01612295']) | |
| class SubAccountCOINFuturesPositionRisk(BaseModel): | |
| deliveryPositionRiskVos: List[DeliveryPositionRiskVo] | |
| class BswapAddLiquidityPreviewCombination(BaseModel): | |
| quoteAsset: str = Field(..., examples=['USDT']) | |
| baseAsset: str = Field(..., examples=['BUSD']) | |
| quoteAmt: int = Field(..., examples=[300000]) | |
| baseAmt: int = Field(..., examples=[299975]) | |
| price: float = Field(..., examples=[1.00008334]) | |
| share: float = Field(..., examples=[1.23]) | |
| class BswapAddLiquidityPreviewSingle(BaseModel): | |
| quoteAsset: str = Field(..., examples=['USDT']) | |
| quoteAmt: int = Field(..., examples=[300000]) | |
| price: float = Field(..., examples=[1.00008334]) | |
| share: float = Field(..., examples=[1.23]) | |
| slippage: float = Field(..., examples=[7.245e-05]) | |
| fee: float = Field(..., examples=[120]) | |
| class BswapRmvLiquidityPreviewCombination(BaseModel): | |
| quoteAsset: str = Field(..., examples=['USDT']) | |
| baseAsset: str = Field(..., examples=['BUSD']) | |
| quoteAmt: int = Field(..., examples=[300000]) | |
| baseAmt: int = Field(..., examples=[299975]) | |
| price: float = Field(..., examples=[1.00008334]) | |
| class BswapRmvLiquidityPreviewSingle(BaseModel): | |
| quoteAsset: str = Field(..., examples=['USDT']) | |
| quoteAmt: int = Field(..., examples=[300000]) | |
| price: float = Field(..., examples=[1.00008334]) | |
| slippage: float = Field(..., examples=[7.245e-05]) | |
| fee: float = Field(..., examples=[120]) | |
| class Error(BaseModel): | |
| code: int = Field(..., description='Error code') | |
| msg: str = Field(..., description='Error message', examples=['error message']) | |
| class BookTickerList(RootModel[List[BookTicker]]): | |
| root: List[BookTicker] | |
| class PriceTickerList(RootModel[List[PriceTicker]]): | |
| root: List[PriceTicker] | |
| class TickerList(RootModel[List[Ticker]]): | |
| root: List[Ticker] |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Generated by
datamodel-code-generator(https://koxudaxi.github.io/datamodel-code-generator/)Installation:
CLI:
Usage: