加密货币兑换API:报价、订单和充值地址
产品更新·9 分钟阅读

加密货币兑换API:报价、订单和充值地址

作者:EIDEX Team

EIDEX Merchant API v1 是一个加密货币兑换 API:在一个集成点下提供报价、订单和充值地址。一次连接即可访问实时定价、完整的订单生命周期管理、充值地址发放、提款和事件 webhook — 所有这些都通过基本 URL `https://eidex.io/api/merchant/v1` 实现。本参考资料涵盖了 API 中的每个端点、控制每个密钥权限的模型、三步快速入门以及从报价到支付的完整兑换流程的示例。

EIDEX Merchant API v1 是一个加密货币兑换 API,具有单一集成点:实时报价、订单创建和跟踪、充值地址管理、提款和事件 webhook。基本 URL 是https://eidex.io/api/merchant/v1,身份验证使用一对请求头。

最后更新:2026 年 7 月 26 日 · Merchant API v1。如果本页面与规范存在差异,则以机器可读的规范为准。

主要收获

  • 14 个端点分为五组:报价、订单、地址、提款、webhooks。
  • 三个权限级别每个密钥 — READONLY、TRADING、WITHDRAW — 因此集成只获取其所需。
  • 每分钟60个请求每个密钥,在所有端点之间共享,每个响应中都包含限制头。
  • 15个区块链网络用于存款;配对列表从 `GET /tickers` 实时获取,而不是硬编码。
  • 无沙盒:开发通过 READONLY 密钥安全地针对实时基本 URL 运行。

加密货币交易平台API的功能

报价

`GET /tickers` 以一种一致的格式返回可用的交易对,因此您无需自己维护与外部场所的连接。定价和订单执行都通过我们连接的合作交易所运行,这使得API成为报价和结算的单一集成点。相同的费率既用于您的店面,也用于您提交的订单,因此客户看到的价格与交易所成交的价格相符。

订单

完整的交易生命周期:`POST /order` 创建一个交易所订单(交易对、买入/卖出方向、市价/限价类型),`GET /order/{id}` 返回其状态,`GET /orders` 列出订单,`POST /order/{id}/cancel` 取消订单。您的前端保留其自己的逻辑。

地址、存款和提款

`GET /deposit-address?network=` 为特定链(需要网络参数)发出接收地址,`GET /deposit-addresses` 列出已发出的地址。`POST /address/reserve` 通过其标识符(nonce)将地址锁定到您的请求,`POST /address/release` 在交易结束后将其返回到池中。`GET /balances` 报告当前商家余额;`POST /withdraw` 启动支付。结果以 `withdraw.completed` webhook 的形式到达——目前没有 REST 方法来轮询提款状态。

Webhooks

`GET` 和 `POST /webhooks` 以及 `DELETE /webhooks/{id}` 管理事件订阅。目前提供两个事件:`deposit.confirmed` 和 `withdraw.completed`。订单执行事件 (`order.filled`) 保留到以后发布,因此目前订单状态通过 `GET /order/{id}` 轮询。

您的店面和品牌保持不变:API 提供报价、执行订单和处理结算,而您构建面向客户的界面。所有操作都在您的商家账户下运行——API 没有按客户划分的子账户。

加密货币兑换 API 密钥解锁的功能:报价、订单和存款地址

每个密钥都带有一组权限,每个权限都开启了其自己的操作范围。为每个集成提供其所需的最低权限:没有提款权限的密钥无法转出资金,即使它泄露了。

读取访问权限 (READONLY):

  • 每个可用交易对的实时汇率 — `GET /tickers`
  • 每个资产的商家余额,可用和保留 — `GET /balances`
  • 您需要的链上的存款地址 — `GET /deposit-address?network=`
  • 向您发出的每个充值地址 — `GET /deposit-addresses`
  • 带游标分页的订单列表 — `GET /orders`
  • 特定订单的状态 — `GET /order/{id}`

交易 (TRADING):

  • 创建订单:交易对、买入/卖出方向、市价/限价类型 — `POST /order`
  • 取消订单 — `POST /order/{id}/cancel`

提现 (WITHDRAW):

  • 发起向外部地址的提现 — `POST /withdraw`。适用最低金额和每日限额;结果将作为 `withdraw.completed` webhook 返回。

地址池和订阅(需要 TRADING 权限;查看订阅列表需要 READONLY):

  • 通过其标识符 (nonce) 将地址锁定到您的请求;使用相同的 nonce 重复调用将返回相同的地址 — `POST /address/reserve`
  • 交易结束后将地址返回到地址池 — `POST /address/release`
  • 创建、列出和删除事件订阅 — `POST`/`GET /webhooks`, `DELETE /webhooks/{id}`

密钥不授予的功能:

  • 管理密钥本身 — 密钥的签发和撤销在仪表板中进行,而不是通过 API
  • 更改账户设置、运行验证或在 P2P 上交易
  • 代表其他用户操作 — 每个调用都在您自己的商家账户下运行

三步快速入门

第 1 步。获取您的密钥。在您的仪表板中签发 `X-API-Key` 和 `X-API-Secret`(设置 → API 密钥)。密钥在创建时显示一次 — 请立即存储。同一屏幕设置密钥权限 (READONLY / TRADING / WITHDRAW) 和可选的允许 IP 地址列表。

第 2 步。请求报价。

curl -X GET "https://eidex.io/api/merchant/v1/tickers" \
  -H "X-API-Key: <your_api_key>" \
  -H "X-API-Secret: <your_api_secret>"

第 3 步。创建订单。`POST /order` 需要 `Idempotency-Key` 标头,这可以保护您在重试时免受重复交易的影响。该密钥必须具有 TRADING 权限。

curl -X POST "https://eidex.io/api/merchant/v1/order" \
  -H "X-API-Key: <your_api_key>" \
  -H "X-API-Secret: <your_api_secret>" \
  -H "Idempotency-Key: <unique_request_id>" \
  -H "Content-Type: application/json" \
  -d '{"pair":"BTCUSDT","side":"BUY","type":"MARKET","amount":"0.001"}'

对于限价订单,添加 `"type":"LIMIT"` 和 `"price":"<price>"`。有关完整的字段列表和可接受的值,请参阅规范。

从那里,订阅存款和取款网络钩子,并轮询 `GET /order/{id}` 以获取订单状态。

端点参考

方法路径功能
GET/tickers可用交易对的报价(READONLY)
GET/balances商家余额(READONLY)
GET/deposit-address充值地址(READONLY,需要?network=)
GET/deposit-addresses充值地址列表(READONLY)
POST/address/reserve预留地址(TRADING,network + nonce)
POST/address/release释放地址(TRADING,address + status)
POST/order创建订单(TRADING, Idempotency-Key)
GET/order/{id}订单状态(READONLY)
POST/order/{id}/cancel取消订单(TRADING)
GET/orders订单列表(READONLY)
POST/withdraw提现资金(WITHDRAW, Idempotency-Key)
GET/webhooks列出事件订阅(READONLY)
POST/webhooks创建订阅(TRADING,url + events)
DELETE/webhooks/{id}删除订阅(TRADING)

交易所流程如何运作

典型的场外交易归结为对加密货币兑换商 API 的六次调用,您的后端和端点之间的顺序如下:

NaN. 客户选择方向 — 您的店面从 `GET /tickers` 获取价格。

NaN. 您的后端为请求预留一个地址:`POST /address/reserve`,带有 network 和 nonce。使用相同的 nonce 重复调用会返回相同的地址,因此重复提交不会中断流程。

NaN. 客户将资金发送到已发行的地址。

NaN. `deposit.confirmed` 网络钩子到达 — 从那时起,收到的付款被视为已确认。

NaN. 您的后端使用 `Idempotency-Key` 标头创建订单:`POST /order`;状态通过 `GET /order/{id}` 查询。

NaN. 提款通过 `POST /withdraw` 发起,执行情况由 `withdraw.completed` webhook 报告。交易结束后,地址通过 `POST /address/release` 返回池中。

相同的序列涵盖了一次性请求和每小时数十笔交易的流:瓶颈通常是链确认时间而不是 API。

集成场景

交易所网站

经典设置:页面上的计算器,从 `GET /tickers` 获取汇率,在您自己的 CRM 中跟踪请求。API 涵盖定价、执行和结算,而交易规则、客户验证和支持则由您负责。

Telegram 机器人

没有网站的相同电路:机器人是界面,其后端与相同的端点通信。对话逻辑——配对选择、汇率显示、地址发放、存款通知——依赖于 webhook,因此无需循环查询状态。在此处颁发一个具有 READONLY 和 TRADING 权限的单独密钥很方便,将支付保留在不同的电路上。

白标柜台

店面、品牌和客户群都是您的;结算层在我们这边。该场景运行相同的调用,不同之处仅在于您对界面的定制程度——加密管道在您的品牌背后对最终用户保持不可见。

速率限制和幂等性

每个API密钥每分钟限制60个请求,并由所有端点共享。每个响应都带有`X-RateLimit-Limit`和`X-RateLimit-Remaining`头;超出限制将返回`429`,并带有`Retry-After`头,其中包含到下一个窗口的秒数。

`POST /order`和`POST /withdraw`需要`Idempotency-Key`头——与IETF Idempotency-Key draft中描述的模式相同,并用于支付API。使用相同的密钥和正文重复请求将返回存储的响应,而不是创建重复项,而使用不同正文的相同密钥将被拒绝。这使得重试对于资金流动是安全的。

每个账户最多支持10个活动的API密钥和5个webhook订阅。错误以单一JSON形式返回——`{"code", "message", "request_id"}`——引用`request_id`可以加快支持请求的处理速度。

安全和密钥权限

凭证通过 `X-API-Key` 和 `X-API-Secret` 标头传输,绝不会出现在查询字符串或请求正文中,因此它们不会保留在浏览器历史记录和中间代理日志中。密钥永远不会被记录;内部记录只保留一个被屏蔽的密钥前缀。

密钥权限限制了密钥可以执行的操作:READONLY用于读取,TRADING 用于创建和取消订单、预留和释放充值地址以及管理 webhook 订阅,WITHDRAW用于支付。为每个集成提供其所需的最低权限——泄露的没有WITHDRAW权限的密钥无法转移资金。

在颁发密钥时,您可以通过列出CIDR表示法中的地址或子网来配置IP白名单。如果列表为空,则默认情况下密钥可从任何地址接受——对于带有WITHDRAW的密钥,我们建议始终明确设置白名单。

Webhooks已签名:每次调用您的处理程序时,都会带有一个`X-Webhook-Signature`标头,其中包含一个HMAC-SHA256正文,使用创建时一次性颁发的订阅密钥计算。如果您的端点不可用,将以递增的时间间隔重试交付,最多5次。在处理之前验证签名。

将密钥保留在服务器端;您的前端不应持有它。操作规则和各方的责任在使用条款中规定。

如何连接

加密交易商API的完整规范以机器可读格式发布在eidex.io/merchant-openapi.json,并可直接导入Postman、Insomnia或客户端生成器。最快的路径是快速入门指南:颁发密钥,验证`GET /tickers`,然后构建您的第一个测试订单。

FAQ
API访问费用是多少?

加密货币兑换API:报价、订单、充值地址以及所有端点的访问费用是单独定价的,而不是根据公开费率表。商业条款取决于您的集成情况:涉及的交易对、预期交易量以及您所需的结算模式。所有内容在您上线前都会在合同中确定。所有集成都同样适用的唯一限制是技术速率上限:每个密钥每分钟60次请求,所有端点共享。每次调用响应头中都会显示当前使用情况,因此您的客户端可以在达到上限之前进行退避。要讨论条款,请通过您仪表板中的联系方式联系我们,或直接咨询您的客户经理。

是否有测试环境?

目前没有独立的模拟资金沙盒:规范声明了一个实时基础URL,即 `https://eidex.io/api/merchant/v1`。针对它进行开发的便捷方式是使用READONLY密钥——读取报价、余额和地址不会涉及资金转移。

支持哪些资产和网络?

`GET /tickers` 始终返回当前的交易对列表,该列表会随时间变化 — 避免对其进行硬编码。用于充值的区块链网络是 15 个链的单独列表,作为网络参数传递给 `/deposit-address` (TRON, BTC, ETH, BSC, POLYGON, ARBITRUM, OPTIMISM, SOL, AVALANCHE, BASE, ZKSYNC, LINEA, XRP, TON, XMR) — 请参阅规范以获取当前集合。

集成需要多长时间?

这取决于范围:连接报价和单一兑换方向比包含地址预留、提款和 webhook 处理的完整周期要轻得多。规范和快速入门涵盖了这两种路径。

关于作者
EIDEX 首席技术官

EIDEX 加密货币交易所首席技术官。负责平台架构、交易核心与安全,撰写关于加密市场、监管与区块链技术的文章。

分享本文TelegramX