安全
我们能接触资金的权限越少,
我们能接触资金的权限越少,
您就越安心
Coinetic 的设计保证:即使我们的服务器被攻破,攻击者也既无法花掉、也无法转移您的收款。
只需公钥
收款只需要 xpub/zpub、Solana 地址以及 EVM 网络的归集钱包地址。Coinetic 从不索要商户的助记词和私钥——它们不存在于我们的代码、数据库或日志中。
地址经过三重校验
给顾客的地址从您的钱包派生;入账时会校验它确实由您的密钥派生;数据库也会拒绝把它关联到其他人的钱包。
EVM:只能归集到您的地址
EVM 网络上的收款地址是智能合约,收款人在部署时就已写死。任何人都无法修改,包括我们。
更换钱包有延迟期
需要密码、双重验证,并会邮件通知所有者,同时留出撤销时间。即使有人取得了后台权限,您也来得及阻止更换。
“已支付”只由区块链决定
状态由链上监听服务在达到所需确认数后更新。每笔转账只入账一次;区块回滚时,状态也会随之回滚。
请求和 Webhook 均带签名
API 请求使用 HMAC-SHA256,附带时间戳和一次性 nonce。Webhook 对原始请求体做 HMAC 签名,签名密钥可无停机轮换。
您这一侧
安全集成的五条规则
商户遇到的大多数事故并不是区块链被攻破,而是信任了错误的信号。
- API secret 只放在服务器上不要放在浏览器、手机应用或 git 中。
- 根据 API 返回的状态发货以
GET /v1/invoices/{id}返回的paid或overpaid为准,而不是return_url的参数或 Webhook 请求体。 - 基于原始请求体校验 Webhook 签名并拒绝超过 5 分钟的请求。
- 发货逻辑要幂等同一个 Webhook 可能送达多次:请保存已处理的
X-Webhook-Id。 - 生产环境拒绝
livemode: false这样即使误接了沙盒,也不会发出商品。
顾客
没有意外的支付页面
无第三方脚本
没有统计分析、没有外部字体、没有 CDN。严格的 Content-Security-Policy,二维码在页面本地绘制。
令牌位于“#”之后
支付链接把令牌放在 URL 片段中:它不会出现在服务器日志和 Referer 里。
不显示过期金额
汇率有效期一过,地址和金额就会隐藏,顾客不会按旧报价付款。