1.一键开户
1.1 下载 HashNut MPC Client
去下面的地址,根据你的PC机的操作系统和CPU架构,下载最新版本的 HashNut MPC Client,并解压缩。
https://github.com/nuttybounty/hashnut-mpc-client/releasesNOTE
HashNut MPC Client 目前没有支持 windows-arm64 架构,但是经过测试,windows-arm64 架构的PC依旧可以兼容运行 windows-amd64 版本。
NOTE
如果你的系统是MacOS,那么你还需要执行下面的命令,绕开MacOS的安全检查
xattr -cr ./hashnut-mpc-mainnet-darwin-arm64如果你下载的是 amd64 版本,则执行
xattr -cr ./hashnut-mpc-mainnet-darwin-amd64NOTE
HashNut 的服务不会保存你的私钥和密码,请妥善保管,丢失无法找回。导入私钥之后会生成 keys.db,也请妥善保管,否则丢失后无法新增收款地址。使用HashNut MPC Client的时候请确保keys.db放在同一个文件夹下面。
1.2 初始化钱包
设置密码

导入钱包私钥 将你的私钥导入到钱包,默认导入的是 evm ,如果你的钱包是波场钱包,则选 tron。
点击 "导入钱包" 按钮

选择导入钱包类型

黏贴私钥并导入 mpc-client-import-wallet-paste-import.png

导入完成

切换到你想接入的区块链

1.3 填写一键开户的信息
进入一键开户界面

填写一键开户参数

- 一键开户的参数作用如下:
参数名 作用 合约别名 分账合约的名称,部署完成后,你可以在商户系统或者MPC Client的分账合约界面看到对应名称的分账合约信息 提现地址 商户收到用户支付订单的资金后,归集,然后提现时的收款地址 Token 收款授权分账合约转出的token类型,默认是usdt,收款地址会将token的转出权限授予分账合约,然后商户归集资金的时候可以通过分账合约从收款地址转出token 收款地址数量 创建收款地址的数量,这里建议只设置5个,等验证订单创建,资金归集和提现没有问题之后,再继续补充足够多的地址,建议至少补充到50个 notifyUrl 商户接受 HashNut 关于订单的通知的 url,可以理解为 webhook url callbackUrl 订单创建成功后,从HashNut支付页面跳转到的 url bindIp 商户创建订单的服务器的外网IP,这里建议暂时设置为 *,等调试通过后,再去商户系统里面绑定 长款策略 用户超额支付订单,商户如何处理,这里默认是自动确认,也就是用户超额支付后,商户自动认为订单成功 短款策略 用户没有足够支付的金额,HashNut是否通知商户,这里默认通知商户 备注 api key的备注名称,一键开户完成后,可以在商户看到这个备注
TIP
本地开发调试阶段,本机地址无法被公网访问,而 notifyUrl 是 HashNut 主动来请求你的地址, 必须公网可达。有公网服务器就直接用;本地开发可以用内网穿透(ngrok / frp / Cloudflare Tunnel 等) 临时顶上,做法见 附录:本地调试让 notifyUrl 公网可达。 建议先把公网地址准备好再填下面的参数,免得填完发现通知收不到又要回头改。
callbackUrl 是浏览器跳转,不需要公网,本地开发直接用示范商城前端的地址 http://localhost:5173/payment-result 就行。
评估手续费

点击确认开户

开户中

开户完成

1.4 保存开户信息

- 最终的开户信息如下text
HashNut 一键开户结果 生成时间: 2026-08-01 14:54:46 ============================================================ 链 ETH 分账合约 0xbd09...fca 合约别名 demo-1 提现地址 0x4d....ec Token usdt (0xdac17f958d2ee523a2206206994597c13d831ec7) 收款地址数 5 部署交易 0xa19....73d accessKey 01...YW secretKey H1...Tt notifyUrl https://.../api/notify callbackUrl http://.../payment-result bindIp * 长款策略 自动确认(默认) (AUTO_CONFIRM) 短款策略 通知商户(默认) (NOTIFY) ------------------------------------------------------------ 粘贴到 demo-go / demo-java 的 migrate.sql ------------------------------------------------------------ -- HashNut 一键开户导出:ETH / demo-1 INSERT INTO t_hashnut_api_key (block_chain, splitter, access_key_id, secret_key) VALUES ('ETH', '0xbd09...fca', '01...YW', 'H1...Tt') ON CONFLICT (block_chain) DO UPDATE SET splitter = EXCLUDED.splitter, access_key_id = EXCLUDED.access_key_id, secret_key = EXCLUDED.secret_key;