# btc_sign_message

Sign a message using the wallet

Agent View of the PolicyLayer registry record for `btc_sign_message`. HTML page: https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-sign-message

## Facts

- Tool: `btc_sign_message`
- Server: Bitcoin wallet MCP server (`markmhendrickson/mcp-server-bitcoin`) — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin.md
- Homepage: https://github.com/markmhendrickson/mcp-server-bitcoin
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "btc_sign_message",
    "arguments": {}
  }
}
```

## Why btc_sign_message is rated High

Signing a message with a wallet key is an execution of a cryptographic operation using sensitive private key material. It does not directly move funds (Financial) or delete data (Destructive), but it can be misused to authenticate transactions or prove identity, making it a meaningful security operation. It is more than a passive Read since it actively uses the private key.

From the tool's own definition: "'Sign a message using the wallet' — uses wallet cryptographic keys to produce a signature"

## Use case

AI agents invoke btc_sign_message to trigger actions in Bitcoin wallet MCP server. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Bitcoin wallet MCP server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "btc_sign_message": {
      "limits": [
        {
          "counter": "btc_sign_message_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Bitcoin wallet MCP server (92)

- `ledger_sign_stx_transaction` — Execute — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/ledger-sign-stx-transaction.md
- `stx_call_contract` — Execute — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-call-contract.md
- `stx_sign_structured_message` — Execute — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-sign-structured-message.md
- `stx_sign_transaction` — Execute — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-sign-transaction.md
- `stx_sign_transactions` — Execute — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-sign-transactions.md
- `bns_register` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/bns-register.md
- `btc_combine_utxos` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-combine-utxos.md
- `btc_send_max` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-send-max.md
- `btc_send_transfer` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-send-transfer.md
- `btc_sign_batch_psbt` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-sign-batch-psbt.md
- `btc_wallet_send_transfer` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-wallet-send-transfer.md
- `ledger_sign_psbt` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/ledger-sign-psbt.md
- `ord_create_repeat_inscriptions` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/ord-create-repeat-inscriptions.md
- `ord_recover_bitcoin` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/ord-recover-bitcoin.md
- `ord_send_inscriptions` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/ord-send-inscriptions.md
- `ord_send_inscriptions_split` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/ord-send-inscriptions-split.md
- `sbtc_bridge_withdraw` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/sbtc-bridge-withdraw.md
- `stx_deploy_contract` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-deploy-contract.md
- `stx_revoke_delegation` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-revoke-delegation.md
- `stx_stack` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-stack.md
- `stx_transfer_sip10_ft` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-transfer-sip10-ft.md
- `stx_transfer_sip9_nft` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-transfer-sip9-nft.md
- `stx_transfer_stx` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/stx-transfer-stx.md
- `swap_execute` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/swap-execute.md
- `tx_cancel` — Financial — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/tx-cancel.md
- `bns_get_names` — Read — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/bns-get-names.md
- `bns_lookup` — Read — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/bns-lookup.md
- `btc_decode_psbt` — Read — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-decode-psbt.md
- `btc_estimate_fee` — Read — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-estimate-fee.md
- `btc_get_accounts` — Read — https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin/btc-get-accounts.md
- …and 62 more: https://policylayer.com/tools/markmhendrickson-mcp-server-bitcoin.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=markmhendrickson-mcp-server-bitcoin · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/markmhendrickson-mcp-server-bitcoin
