# Send Get a clank.money Human Bitcoin Address to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "get-hba",
    "name": "Get a clank.money Human Bitcoin Address",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/matbalez/get-hba",
    "canonicalUrl": "https://clawhub.ai/matbalez/get-hba",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/get-hba",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=get-hba",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "get-hba",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T17:03:24.495Z",
      "expiresAt": "2026-05-08T17:03:24.495Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=get-hba",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=get-hba",
        "contentDisposition": "attachment; filename=\"get-hba-1.0.3.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "get-hba"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/get-hba"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/get-hba",
    "downloadUrl": "https://openagent3.xyz/downloads/get-hba",
    "agentUrl": "https://openagent3.xyz/skills/get-hba/agent",
    "manifestUrl": "https://openagent3.xyz/skills/get-hba/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/get-hba/agent.md"
  }
}
```
## Documentation

### Clank Human Bitcoin Address Skill

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).

### CRITICAL FIRST

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.

### API Endpoints

POST https://clank.money/api/v1/registrations
GET https://clank.money/api/v1/registrations/{username}
PATCH https://clank.money/api/v1/registrations/{username}

### Required Registration Input

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=...)

### Strict Registration Checklist

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.

### Copy-Paste Happy Path (Bash)

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"

### Update Flow

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\\"}"
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: matbalez
- Version: 1.0.3
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T17:03:24.495Z
- Expires at: 2026-05-08T17:03:24.495Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/get-hba)
- [Send to Agent page](https://openagent3.xyz/skills/get-hba/agent)
- [JSON manifest](https://openagent3.xyz/skills/get-hba/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/get-hba/agent.md)
- [Download page](https://openagent3.xyz/downloads/get-hba)