想快速上手数字资产自动化?这篇 Coincheck API 文档带你一对一对接行情、下单、转账等全套接口。阅读完即可写出你的第一支量化机器人脚本。
概览:两类接口两把钥匙
Coincheck 为开发者提供 无需身份验证的 Public API 与 需要密钥的 Private API。
- Public API:实时行情、委托簿、最新成交历史
- Private API:挂单、撤单、余额查询、资产出入金
初学者如果只想抓行情,直接使用 Public 端点即可。
基础准备:一行 HTTP Host + 备用域名
https://coincheck.com如遇国内网络波动,可临时将 coincheck.com 替换为 coincheck.jp 后缀测试连通性(仅测试,非官方镜像)。
Public API:行情类端点
1. 查询最新报价(ticker)
GET /api/ticker
支持 20+ 交易对,默认返回 BTC/JPY。
响应数值含义:
last:最新成交价bid/ask:最优买卖价high/low:24h 最高 / 最低volume:24h 成交量
示例返回:
{"last": 27390, "bid": 26900, "ask": 27390, "high": 27659, "low": 26400, "volume": "50.30", "timestamp": 1700000000}常见问答
Q:ticker 与 orderbook 有何区别?
A:ticker 汇总了近 24h 数据;orderbook 展示当前买卖盘口深度。
Q:timestamp 单位是秒还是毫秒?
A:标准 Unix 秒,用 date -r 即可转换。
2. 获取委托深度(orderbook)
GET /api/order_books
返回 bids / asks 二维列表,每行 [价格, 数量]。
3. 最近 100 笔成交(trades)
GET /api/trades?pair=btc_jpy
可做简单日内策略回测的数据源。
Private API:身份认证与安全
API Key 创建三步走
- 登录“账户 → API 管理”
- 生成 “Access Key / Secret Key” → 下载留存
- 调用 PRIVATE 端点时,不可泄露 Secret,只能用于签名
权限粒度:提币、交易、只读可分别开关;IP 白名单可直接阻断意外请求。
生成签名的核心公式 ACCESS-SIGNATURE = HMAC-SHA256(ACCESS-NONCE + URL + BODY , SECRET)
Ruby / PHP / Java 样例已在“正文样本续写”章节给出。
Private API:交易下单全解析
1. 发送新委托(POST /api/exchange/orders)
核心参数
pair:交易对,如 btc_jpyorder_type:buy / sell / market_buy / market_sellrate:限价必填amount:数量stop_loss_rate:可选止损触发价time_in_force:可选 IOC / GTC / Post Only
速率限制:5 次/秒
示例:
{"pair":"btc_jpy","order_type":"buy","rate":27000,"amount":0.01}2. 撤单(DELETE /api/exchange/orders/{id})
填入订单 id 即可,撤单同样 5 次/秒上限。
3. 获取未成交订单
GET /api/exchange/orders/opens
返回数组,含待撮合数量 pending_amount 与订单方向。
4. 个人账户余额
GET /api/accounts/balance
字段速记
jpy:可用日元jpy_reserved:挂单冻结jpy_debt:已借款
Private API:资产出入金
1. 比特币提币
POST /api/send_money
必填:目的码 purpose_type(如 keep_own_private_wallet)。
系统会校验地址白名单。
成功返回:
{"success": true, "id": "276", "address": "1v6z...", "amount": "1.5", "fee": "0.002"}2. 速查历史记录
- 送金:
GET /api/send_money - 入金:
GET /api/deposit_money - 交易流水:
GET /api/exchange/orders/transactions(支持分页)
WebSocket β 版:零轮询实时数据
连接地址:wss://ws-api.coincheck.com/
订阅消息格式(JavaScript 示例)
let socket = new WebSocket("wss://ws-api.coincheck.com/");
socket.send(JSON.stringify({type:"subscribe",channel:"btc_jpy-trades"}));自动推送成交记录,无需 REST 轮询,节省复杂度。
注意:WebSocket 属 Beta,可能短暂中断,生产环境请加重连机制。
主流语言代码速查
实际下单前,可用以下极简脚本验证签名。
Ruby
# gem install ruby_coincheck_client
require "coincheck_client"
client = CoincheckClient.new(API_KEY, API_SECRET)
puts client.read_balancePHP
composer require coincheck/coincheckScala
libraryDependencies += "net.pocketengineer" %% "coincheckscala" % "latest"常见问题 Q&A
Q:如何用 curl 获取行情?
curl https://coincheck.com/api/ticker | jq '.last'Q:订单状态 “PARTIALLY_FILLED_EXPIRED” 是什么?
A:已部分成交后因超时 / 防自成交规则而失效。
Q:市价买入 BTC 却收到 403?
A:检查是否传了 market_buy_amount(以 JPY 计价)而非 amount。
Q:提币为何被要求填写目的?
A:监管合规,系统会根据 purpose_type 做反洗钱校验。
Q:费率在哪里看?
A:Private /api/accounts 内 exchange_fees 节点列出 Maker/Taker 费率。
Q:有没有机器人脚手架开源?
A:GitHub 搜索 coincheck_sample_bot,最快 15 行代码可跑通。
下一步实战:打包成策略
- 用 Public API 取行情做技术面筛选
- Private API 挂单并使用 WebSocket 监听成交
- 盈利后提 BTC 到冷钱包,入金用日元划转
愿你在 Coincheck API 的世界里稳扎稳打,量化之旅长红。