目录
文章目录
  1. 1. AI 写的脚本,为什么先别碰真钱
  2. 2. 接测试网:先拿一把测试网的 Key,再换掉地址
  3. 3. /sapi 开头的接口,测试网上没有
  4. 4. 钱是假的,限制是真的
  5. 5. 数据会突然清空:约每月一次,不提前通知
  6. 6. 签名方式:HMAC、RSA、Ed25519 的密钥各由谁生成
  7. 7. 如果要切回实盘,先对着这张表过一遍

让 AI 写的币安交易脚本先上现货测试网:换哪几个地址、哪些接口用不了、数据为什么会清空

SANDBOX 现货测试网接入笔记 AI 写的交易脚本 先跑测试网再上实盘 换地址 · /sapi 不可用 · 约每月重置 · 签名密钥 TEST LIVE

用 AI 写出一段币安交易脚本不难,难在写完之后怎么安全地试。币安给现货 API 准备了一个测试网:资金是虚拟的,限频和过滤器和实盘基本一致,但只有 /api 接口、数据大约每月清空一次

2026-09-16 发布 PromptDeck 撰 阅读约 10 分钟 约 3,200 字
范围:币安现货测试网(Spot Test Network)。地址、限制和重置规则来自币安开发者文档「Testnet General Info」页,文中引的是 2026 年 9 月页面上的写法。

1. AI 写的脚本,为什么先别碰真钱 #

让 ChatGPT、Claude 或 DeepSeek 写一段「价格跌到某个位置就挂单买入」的脚本,很快就能跑起来。问题在于,你很难只靠读代码确认它每一处都对:买卖方向、数量单位、价格精度、循环退出条件,任何一处写反,真账户上就是真成交。AI 给出的代码看起来越完整,越容易让人跳过验证这一步。

币安给现货 API 准备了一个专门的测试环境:注册现货测试网的用户会自动拿到多种资产的余额,这些不是真实资产,只能在测试网里用;测试网上的资金全部是虚拟的,既转不进来,也转不出去。脚本在这里下错一百单,损失也是零。

2. 接测试网:先拿一把测试网的 Key,再换掉地址 #

文档给的步骤只有两步:第一步,登录测试网网站并生成 API Key;第二步,照常按现货 API 文档写代码,只是把接口地址换成测试网的。

类型实盘地址测试网地址
REST APIhttps://api.binance.com/apihttps://testnet.binance.vision/api
WebSocket APIwss://ws-api.binance.com/ws-api/v3wss://ws-api.testnet.binance.vision/ws-api/v3
WebSocket 组合行情流wss://stream.binance.com/streamwss://stream.testnet.binance.vision/stream

表里只列了三行。文档原表里还有 REST 备用域名、单路行情流、SBE 行情流和 FIX 接口在测试网的对应地址,用到时去原页查。

让 AI 改代码时,把这件事说成一句明确的要求:所有地址集中写在一个配置项里,默认指向测试网。脚本里散落着好几处写死的 api.binance.com,换环境时漏掉一处,就会出现「一半请求打测试网、一半打实盘」的情况。按文档第一步,测试网要单独生成 API Key;别拿主站账户的 Key 去连测试网,也别反过来。

打不开测试网?测试网会按访问位置拦截受限地区的请求,被拦时 testnet.binance.vision 返回的提示是:Service unavailable from a restricted location according to 'b. Eligibility' in https://www.binance.com/en/terms。提示里援引的是币安服务条款的资格(Eligibility)条款。看到这段提示,就说明你所在的网络位置用不了,别去找绕过的办法。

3. /sapi 开头的接口,测试网上没有 #

文档的回答是:测试网只提供 /api 开头的接口,/sapi 开头的不能用。能用的是这几类:

这对 AI 写的脚本有个直接后果:如果代码里有调用 /sapi 开头的接口,那部分在测试网上根本跑不到,测试网跑通了也不代表它没问题。上实盘前,把脚本里所有接口路径列出来,凡是 /sapi 开头的,单独标出来,清楚知道「这几处从没被测过」。

4. 钱是假的,限制是真的 #

资金虚拟,不等于规则放宽。文档的说法是:测试网上的 IP 限频、下单频率限制、交易所过滤器和交易对过滤器,总体上和现货 API 一致;并建议用户定期查询接口拿最新的限频和过滤器,比如请求 /api/v3/exchangeInfo

币安开发者文档 Testnet General Info 页截图:测试网资金是虚拟的且不能转入转出;测试网的 IP 限制、下单频率限制、交易所与交易对过滤器与现货 API 基本相同,建议查询 exchangeInfo;测试网大约每月重置一次且不提前通知,自 2020 年 8 月起重置时保留 API Key
图 1:Testnet General Info 页里讲虚拟资金、限频与过滤器、定期重置的几段。出处 Binance 开发者文档 · 2026-09

AI 写的代码里,最值得查的是有没有写死的数字:最小下单数量、价格精度、每秒请求次数。这些数字要是写成代码里的常数,对某个交易对成立,换个交易对就未必成立。让脚本启动时先读 exchangeInfo,按返回的过滤器去修正数量和价格,测试网和实盘用同一段逻辑,比两边各写一份常数稳妥。请求被限频拒绝时脚本怎么退避、会不会疯狂重试,也正好在测试网上试出来。

5. 数据会突然清空:约每月一次,不提前通知 #

测试网用上一段时间,就会碰到某天订单记录全部清空。文档里这个问题的标题就叫「All my data has disappeared! What happened?」,回答是:

脚本要是假设「上次挂的单还在」「持仓一定是我上次留下的数」,重置那天就会出错。让 AI 写脚本时加一条要求,每次启动都先查当前挂单和余额,再决定下一步,而不是读本地缓存的状态。你自己的测试记录也别只放在测试网上,需要留存的成交结果,脚本跑的时候就写进本地日志。

另外一个小细节:文档说测试网上 klinesuiKlines 两个请求始终返回相同的数据。如果 AI 写的逻辑依赖两者的差别,测试网上是验证不出来的。

6. 签名方式:HMAC、RSA、Ed25519 的密钥各由谁生成 #

测试网文档顺带讲了三种 API Key 的区别,选哪种会影响你怎么保管密钥:

类型谁生成签名用的密钥文档里的要点
HMAC-SHA-256币安替你生成 secret文档介绍 RSA 时,把 RSA 写成它的替代方案
RSA你自己生成公私钥,只把公钥交给币安,用私钥签名支持 2048 到 4096 位,推荐 2048;签名用 PKCS#1 v1.5,不支持 PSS
Ed25519同样是你自己生成密钥对、只交公钥RSA 之外的另一种非对称方案

RSA 和 Ed25519 的私钥由你自己生成,币安那边只拿到公钥。文档在生成私钥那一步写的是:这个文件不要给任何人。「任何人」也包括 AI 对话框:让 AI 帮你写签名代码,给它看公钥格式、给它看报错信息都行,私钥和 secret 一个字符都别贴进去。实盘 Key 该开到哪一档权限,照给 AI 开 Binance API 的最小权限配置来开。

7. 如果要切回实盘,先对着这张表过一遍 #

地址、过滤器、状态、密钥这四项,最好在让 AI 写代码的时候就提出来,而不是写完再返工。可以把下面这段贴在你的需求前面:

写这段调用币安现货 API 的脚本时,必须满足下面四条:
1. 所有接口地址(REST、WebSocket)集中写在一个配置项里,默认指向现货测试网 https://testnet.binance.vision/api;切到实盘时只改这一处,代码其他地方不许出现写死的地址。
2. 启动时先请求 /api/v3/exchangeInfo,按返回的过滤器修正下单数量和价格精度;不要把最小下单量、价格精度、请求频率写成常数。
3. 启动时先查询当前挂单和账户余额,按查询结果决定下一步;不要假设上次运行留下的订单或持仓还在。
4. API Key、secret 和私钥从环境变量读取,不要写进代码;也不要让我把它们贴给你,示例里一律用占位符。

AI 交回代码后,逐条在代码里找到这四条各落在哪一行,别凭它一句「已按要求实现」就放行,道理和AI 错判时怎么识别一样。

看 API 权限最小化配置 →

— PromptDeck, 2026-09-16

安全与合规提示:本文整理的是币安开发者文档中的测试网规则,不是 Binance 官方文档,接口地址与限制可能已有更新。不构成投资建议;在实盘运行自动交易脚本可能导致资金损失,使用前请自行核实平台最新规则,以及你所在地区能否使用。 本站仅在部分深度评测页使用 Affiliate 推介链接(Binance)。通过链接注册不会让您多付费。 完整披露 →