You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用MEXC API实现签名认证查询钱包余额的技术问询

MEXC交易所账户查询接口签名实现方案

官方签名规则中文翻译

  • 收集除sign外的所有请求参数,按参数名ASCII码从小到大做字典序排序
  • 将排序后的参数拼接为key=value格式,参数间用&连接,生成待签名字符串
  • 将API Secret直接拼接在待签名字符串末尾
  • 对最终字符串做MD5加密,取32位小写十六进制结果作为签名值

请求构造要求

调用/open/api/v2/account/infoGET接口需满足以下要求:

  1. URL参数携带三个必填字段:api_key(API公钥)、timestamp(13位毫秒级Unix时间戳,与服务器时间误差不能超过5秒)、sign(计算得到的签名值)
  2. 请求头额外添加两个字段:ApiKey值为你的API公钥,Sign值为计算得到的签名值

Python实现示例

import hashlib
import time
import requests

# 替换为自己的API信息
API_KEY = "你的MEXC API公钥"
API_SECRET = "你的MEXC API私钥"
API_DOMAIN = "https://api.mexc.com"

def calc_sign(params: dict, secret: str) -> str:
    # 参数按ASCII码升序排序
    sorted_items = sorted(params.items(), key=lambda x: x[0])
    # 拼接参数字符串
    raw_str = "&".join([f"{k}={v}" for k, v in sorted_items])
    # 拼接私钥
    raw_str += secret
    # MD5加密转小写
    return hashlib.md5(raw_str.encode("utf-8")).hexdigest().lower()

def query_account_balance():
    req_params = {
        "api_key": API_KEY,
        "timestamp": int(time.time() * 1000)
    }
    req_params["sign"] = calc_sign(req_params, API_SECRET)
    req_headers = {
        "ApiKey": API_KEY,
        "Sign": req_params["sign"]
    }
    response = requests.get(
        url=f"{API_DOMAIN}/open/api/v2/account/info",
        params=req_params,
        headers=req_headers
    )
    return response.json()

if __name__ == "__main__":
    print(query_account_balance())

常见异常排查

  • 签名过期错误:检查本地时间是否准确,确保使用13位毫秒级时间戳,可先获取交易所服务器时间校准
  • 签名无效错误:检查参数排序是否符合要求,MD5结果是否为全小写,API Secret是否正确
  • 权限不足错误:检查创建API时是否开启了账户查询权限,请求IP是否在API白名单内

内容的提问来源于stack exchange,提问作者PL1337

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:45:00