水龙头 JSON 接口
页面能做的事脚本都能做:读状态、算一个小工作量证明、领 testnet3 测试币或开闪电通道。不用密钥、不用账号。基地址 https://faucet.satloot.com。
GET/api/status
水龙头地址、链上余额和今日剩余额度。
curl -s https://faucet.satloot.com/api/status
{"address":"tb1q…","balance_sat":1234567,"payout_sat":10000,"daily_remaining_sat":9876543}
GET/api/challenge
取一个工作量证明挑战。找一个 nonce,使 sha256(token + ':' + nonce) 至少有 bits 位前导零。token 一次性,10 分钟内有效。
curl -s https://faucet.satloot.com/api/challenge
{"token":"3f9a….1789200000.17","sig":"…","bits":17}
参考实现(Python):nonce 从 0 起递增,直到 hashlib.sha256(f'{token}:{nonce}'.encode()).digest() 的前导零位数 ≥ bits。每次领取都要新取一个挑战。
POST/api/claim
给一个 testnet3 地址发测试币。表单编码。
| 字段 | 含义 |
|---|---|
| address | 你的 testnet3 地址(tb1… / m… / n… / 2…)。 |
| amount_sat | 可选。会被夹到 10000–50000 sat 之间。 |
| token, sig, nonce | 来自 /api/challenge,加上你算出的 nonce。 |
| lang | 可选,en 或 zh:错误信息的语言。 |
curl -s -X POST https://faucet.satloot.com/api/claim \
-d address=tb1q… -d amount_sat=10000 -d token=… -d sig=… -d nonce=12345 -d lang=en
{"ok":true,"txid":"…","amount_sat":10000,"explorer":"https://mempool.space/testnet/tx/…"}
出错时返回 {"ok":false,"error":"…"}:400(参数或证明不对)、403(接收地址已持有超过 0.02 tBTC)、429(冷却或封禁)、503(繁忙、没币、当日额度已满)。反复乱发会被临时封禁。
GET/api/addrbalance?address=…
任意 testnet3 地址的余额(已确认 + 未确认,经 Esplora)。
curl -s "https://faucet.satloot.com/api/addrbalance?address=tb1q…"
{"ok":true,"balance_sat":50000}
GET/api/txs
水龙头钱包最近 25 笔链上交易,缓存 45 秒。net_sat 以水龙头视角计(负数 = 发放)。
[{"txid":"…","net_sat":-10000,"confirmations":3,"time":1789200000}, …]
GET/api/lninfo
闪电水龙头节点 URI,以及现在能不能开通道(已同步且有余额)。
{"enabled":true,"node_uri":"03…@…:9735","synced":true,"capacity_sat":250000,"push_sat":100000}
POST/api/lnclaim
从水龙头向你的 testnet3 闪电节点开一条 250,000 sat 的通道,并把 100,000 sat 推到你那边。工作量证明与 /api/claim 相同;你的节点必须能从公网连上。
| 字段 | 含义 |
|---|---|
| node_uri | 你的节点 pubkey@host:port。 |
| token, sig, nonce | 新取的挑战及其解。 |
curl -s -X POST https://faucet.satloot.com/api/lnclaim -d node_uri=03…@1.2.3.4:9735 -d token=… -d sig=… -d nonce=…
{"ok":true,"txid":"…","push_sat":100000,"capacity_sat":250000,"explorer":"https://mempool.space/testnet/tx/…"}
限制:每个节点每 7 天一条,每个 IP 每 24 小时一条,全站每天 20 条。连不上的节点算失败尝试。
测试币没有价值。用剩的请退回水龙头页面上的地址。问题联系 [email protected]。