Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Agent-first service to register and manage Human Bitcoin Addresses (BIP-353) on clank.money with L402 bitcoin payments.
Agent-first service to register and manage Human Bitcoin Addresses (BIP-353) on clank.money with L402 bitcoin payments.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Use this skill to register and update a Human Bitcoin Address under clank.money (BIP-353 DNS payment instructions pointing to a BIP-321 URI).
managementToken is returned after successful paid registration (201 or 202). You must save managementToken immediately and securely. CRITICAL: If the token is lost, future updates to that address cannot be authenticated.
POST https://clank.money/api/v1/registrations GET https://clank.money/api/v1/registrations/{username} PATCH https://clank.money/api/v1/registrations/{username}
username lowercase letters, digits, hyphens 3 to 32 chars cannot start/end with - bip321Uri required must start with bitcoin: should be valid BIP-321 strongly suggested: include a BOLT12 offer (lno=...)
Registration price is 999 sats. Submit unauthenticated registration request (POST /api/v1/registrations). Output: either 409 username_unavailable or 402 payment_required. If 409, pick another username and repeat step 1. Output: 402 payment_required response. Read L402 challenge values from 402 response: macaroon, invoice, paymentHash, amountSats, expiresAt. Output: invoice + macaroon. Pay the Lightning invoice and obtain preimage. Output: payment preimage. Retry the exact same POST /api/v1/registrations with: Authorization: L402 <macaroon>:<preimage> Output: 201 or 202 with managementToken. Save the management token immediately. CRITICAL: If this token is lost, updates are impossible. Output: secure local token file.
set -euo pipefail BASE="https://clank.money" USERNAME="satoshi" BIP321_URI='bitcoin:?lno=lno1examplebolt12offer' TOKEN_FILE="$HOME/.clank/${USERNAME}.management_token" mkdir -p "$(dirname "$TOKEN_FILE")" # 1) Create challenge (or fail fast if name taken) curl -sS -X POST "$BASE/api/v1/registrations" \ -H "content-type: application/json" \ --data "{\"username\":\"$USERNAME\",\"bip321Uri\":\"$BIP321_URI\"}" \ > /tmp/clank_register_challenge.json ERROR_CODE="$(python3 -c 'import json; d=json.load(open("/tmp/clank_register_challenge.json")); e=d.get("error"); print((e.get("code") if isinstance(e,dict) else e) or "")')" if [ "$ERROR_CODE" = "username_unavailable" ]; then echo "Username is taken. Pick another USERNAME and rerun." exit 1 fi if [ "$ERROR_CODE" != "payment_required" ]; then echo "Unexpected challenge response:" cat /tmp/clank_register_challenge.json exit 1 fi MACAROON="$(python3 -c 'import json; print(json.load(open("/tmp/clank_register_challenge.json"))["macaroon"])')" INVOICE="$(python3 -c 'import json; print(json.load(open("/tmp/clank_register_challenge.json"))["invoice"])')" echo "Pay this invoice now:" echo "$INVOICE" # 2) After payment, paste your preimage read -r -p "PASTE_PREIMAGE=" PREIMAGE # 3) Complete paid registration curl -sS -X POST "$BASE/api/v1/registrations" \ -H "content-type: application/json" \ -H "Authorization: L402 $MACAROON:$PREIMAGE" \ --data "{\"username\":\"$USERNAME\",\"bip321Uri\":\"$BIP321_URI\"}" \ > /tmp/clank_register_result.json MGMT="$(python3 -c 'import json; d=json.load(open("/tmp/clank_register_result.json")); print(d.get("managementToken",""))')" if [ -z "$MGMT" ]; then echo "No managementToken in final response:" cat /tmp/clank_register_result.json exit 1 fi # 4) CRITICAL: persist token securely for future updates printf '%s\n' "$MGMT" > "$TOKEN_FILE" chmod 600 "$TOKEN_FILE" echo "Saved management token to $TOKEN_FILE"
Load stored token from your secure file. Call PATCH /api/v1/registrations/{username} with: Authorization: Bearer <managementToken> JSON body with new bip321Uri Example: USERNAME="satoshi" TOKEN_FILE="$HOME/.clank/${USERNAME}.management_token" NEW_BIP321='bitcoin:?lno=lno1newbolt12offer' MGMT="$(cat "$TOKEN_FILE")" curl -sS -X PATCH "https://clank.money/api/v1/registrations/$USERNAME" \ -H "content-type: application/json" \ -H "Authorization: Bearer $MGMT" \ --data "{\"bip321Uri\":\"$NEW_BIP321\"}"
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.