Skip to content

futures.account

Public methods exposed through client.futures.account.

asset

Returns balance and equity fields for one currency in the signed futures account.

Parameters:

Name Type Description Default
currency str

Currency code to query, for example USDT.

required
validate bool | None

Validation override for this request.

None

Returns:

Type Description
FuturesAssetResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/futures/account/asset.py
async def asset(
  self,
  currency: str,
  *,
  validate: bool | None = None
) -> FuturesAssetResponse:
  """Returns balance and equity fields for one currency in the signed futures account.

  Args:
    currency: Currency code to query, for example USDT.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/contract_v1_en/#get-the-user-39-s-single-currency-asset-information)
  """
  headers = {}
  params = {}
  r = await self.signed_request('GET', '/api/v1/private/account/asset/{currency}'.replace('{currency}', str(currency)), params=params or None, headers=headers)
  return self.envelope_output(r.text, adapter, validate)

assets

Returns all currency balances for the signed futures account.

Parameters:

Name Type Description Default
validate bool | None

Validation override for this request.

None

Returns:

Type Description
FuturesAssetsResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/futures/account/assets.py
async def assets(self, *, validate: bool | None = None) -> FuturesAssetsResponse:
  """Returns all currency balances for the signed futures account.

  Args:
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/contract_v1_en/#get-all-informations-of-user-39-s-asset)
  """
  headers = {}
  params = {}
  r = await self.signed_request('GET', '/api/v1/private/account/assets', params=params or None, headers=headers)
  return self.envelope_output(r.text, adapter, validate)

funding_records

Returns paginated funding-fee records for the signed futures account.

Parameters:

Name Type Description Default
symbol str | None

Optional contract symbol filter.

None
position_id int | None

Optional position id filter.

None
page_num int

Page number; default is 1.

required
page_size int

Page size; default 20, maximum 100.

required
validate bool | None

Validation override for this request.

None

Returns:

Type Description
FundingRecordsResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/futures/account/funding_records.py
async def funding_records(
  self,
  *,
  symbol: str | None = None,
  position_id: int | None = None,
  page_num: int,
  page_size: int,
  validate: bool | None = None
) -> FundingRecordsResponse:
  """Returns paginated funding-fee records for the signed futures account.

  Args:
    symbol: Optional contract symbol filter.
    position_id: Optional position id filter.
    page_num: Page number; default is 1.
    page_size: Page size; default 20, maximum 100.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/contract_v1_en/#get-details-of-user-s-funding-rate)
  """
  headers = {}
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  if position_id is not None:
    params['position_id'] = position_id
  if page_num is not None:
    params['page_num'] = page_num
  if page_size is not None:
    params['page_size'] = page_size
  r = await self.signed_request('GET', '/api/v1/private/position/funding_records', params=params or None, headers=headers)
  return self.envelope_output(r.text, adapter, validate)

funding_records_paged

Yield pages from funding_records until the response reports the final page.

Source code in pkg/src/mexc/futures/account/funding_records.py
async def funding_records_paged(self, *, symbol: str | None = None, position_id: int | None = None, page_size: int, max_pages: int | None = None, validate: bool | None = None) -> AsyncIterator[FundingRecordsResponse]:
  """Yield pages from `funding_records` until the response reports the final page."""
  page = 1
  while True:
    response = await self.funding_records(symbol=symbol, position_id=position_id, page_size=page_size, page_num=page, validate=validate)
    yield response
    if max_pages is not None and page >= max_pages:
      break
    data = response.get('data') if isinstance(response, dict) else None
    total = None
    if isinstance(data, dict):
      total = data.get('totalPage') or data.get('totalPageNum')
    if total is None and isinstance(response, dict):
      total = response.get('totalPage') or response.get('totalPageNum')
    if total is None:
      if data == [] or response == []:
        break
      if max_pages is None:
        break
      page += 1
      continue
    if total is None or page >= total:
      break
    page += 1

tiered_fee_rate

Returns the signed account tier and maker/taker fee rates for a contract.

Parameters:

Name Type Description Default
symbol str

Contract symbol.

required
validate bool | None

Validation override for this request.

None

Returns:

Type Description
TieredFeeRateResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/futures/account/tiered_fee_rate.py
async def tiered_fee_rate(
  self,
  *,
  symbol: str,
  validate: bool | None = None
) -> TieredFeeRateResponse:
  """Returns the signed account tier and maker/taker fee rates for a contract.

  Args:
    symbol: Contract symbol.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/contract_v1_en/#gets-the-user-39-s-current-trading-fee-rate)
  """
  headers = {}
  params = {}
  if symbol is not None:
    params['symbol'] = symbol
  r = await self.signed_request('GET', '/api/v1/private/account/tiered_fee_rate', params=params or None, headers=headers)
  return self.envelope_output(r.text, adapter, validate)

transfer_record

Returns paginated asset transfer records for the signed futures account.

Parameters:

Name Type Description Default
currency str | None

Filter by currency code.

None
state str | None

Filter by transfer state: WAIT, SUCCESS, or FAILED.

None
type_ str | None

Filter by transfer direction: IN or OUT.

None
page_num int

Page number; default is 1.

required
page_size int

Page size; default 20, maximum 100.

required
validate bool | None

Validation override for this request.

None

Returns:

Type Description
TransferRecordResponse

The validated endpoint response.

References
Source code in pkg/src/mexc/futures/account/transfer_record.py
async def transfer_record(
  self,
  *,
  currency: str | None = None,
  state: str | None = None,
  type_: str | None = None,
  page_num: int,
  page_size: int,
  validate: bool | None = None
) -> TransferRecordResponse:
  """Returns paginated asset transfer records for the signed futures account.

  Args:
    currency: Filter by currency code.
    state: Filter by transfer state: WAIT, SUCCESS, or FAILED.
    type_: Filter by transfer direction: IN or OUT.
    page_num: Page number; default is 1.
    page_size: Page size; default 20, maximum 100.
    validate: Validation override for this request.

  Returns:
    The validated endpoint response.

  References:
    - [MEXC API docs](https://mexcdevelop.github.io/apidocs/contract_v1_en/#get-the-user-39-s-asset-transfer-records)
  """
  headers = {}
  params = {}
  if currency is not None:
    params['currency'] = currency
  if state is not None:
    params['state'] = state
  if type_ is not None:
    params['type'] = type_
  if page_num is not None:
    params['page_num'] = page_num
  if page_size is not None:
    params['page_size'] = page_size
  r = await self.signed_request('GET', '/api/v1/private/account/transfer_record', params=params or None, headers=headers)
  return self.envelope_output(r.text, adapter, validate)

transfer_record_paged

Yield pages from transfer_record until the response reports the final page.

Source code in pkg/src/mexc/futures/account/transfer_record.py
async def transfer_record_paged(self, *, currency: str | None = None, state: str | None = None, type_: str | None = None, page_size: int, max_pages: int | None = None, validate: bool | None = None) -> AsyncIterator[TransferRecordResponse]:
  """Yield pages from `transfer_record` until the response reports the final page."""
  page = 1
  while True:
    response = await self.transfer_record(currency=currency, state=state, type_=type_, page_size=page_size, page_num=page, validate=validate)
    yield response
    if max_pages is not None and page >= max_pages:
      break
    data = response.get('data') if isinstance(response, dict) else None
    total = None
    if isinstance(data, dict):
      total = data.get('totalPage') or data.get('totalPageNum')
    if total is None and isinstance(response, dict):
      total = response.get('totalPage') or response.get('totalPageNum')
    if total is None:
      if data == [] or response == []:
        break
      if max_pages is None:
        break
      page += 1
      continue
    if total is None or page >= total:
      break
    page += 1