# btc_verify_message

Verify a Bitcoin message signature (BIP-137 or BIP-322) and recover or confirm the signer.

Agent View of the PolicyLayer registry record for `btc_verify_message`. HTML page: https://policylayer.com/tools/io-github-aibtcdev-mcp-server/btc-verify-message

## Facts

- Tool: `btc_verify_message`
- Server: Aibtc (`aibtcdev/aibtc-mcp-server`) — https://policylayer.com/tools/io-github-aibtcdev-mcp-server.md
- Homepage: https://github.com/aibtcdev/aibtc-mcp-server
- Risk category: Read (Low risk)
- Registry record: grade F, identity verified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

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

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

## Why btc_verify_message is rated Low

Message signature verification is a read-only cryptographic operation. It examines existing data (a signature and message) to confirm authenticity and recover signer identity, but does not create, modify, delete, or execute any blockchain transactions or state changes. No financial transactions occur, and no code execution is triggered based on variable arguments.

From the tool's own definition: "Tool description states 'Verify a Bitcoin message signature... and recover or confirm the signer' — this is a verification/query operation with no side effects."

## Use case

AI agents call btc_verify_message to retrieve information from Aibtc without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Aibtc:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "btc_verify_message": {}
  }
}
```

## Other tools on Aibtc (357)

- `bitflow_cancel_order` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/bitflow-cancel-order.md
- `bounty_cancel` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/bounty-cancel.md
- `credentials_delete` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/credentials-delete.md
- `delete_hiro_api_key` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/delete-hiro-api-key.md
- `identity_unset_wallet` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/identity-unset-wallet.md
- `jingswap_cancel_cycle` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/jingswap-cancel-cycle.md
- `jingswap_cancel_sbtc` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/jingswap-cancel-sbtc.md
- `lightning_lock` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/lightning-lock.md
- `ordinals_p2p_cancel` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/ordinals-p2p-cancel.md
- `pillar_direct_revoke_fast_pool` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/pillar-direct-revoke-fast-pool.md
- `reputation_revoke_feedback` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/reputation-revoke-feedback.md
- `stackspot_cancel_pot` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/stackspot-cancel-pot.md
- `wallet_delete` — Destructive — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/wallet-delete.md
- `broadcast_transaction` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/broadcast-transaction.md
- `btc_sign_message` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/btc-sign-message.md
- `call_contract` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/call-contract.md
- `deploy_contract` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/deploy-contract.md
- `dual_stacking_opt_out` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/dual-stacking-opt-out.md
- `inference_check_provider` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/inference-check-provider.md
- `inscribe_child_reveal` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/inscribe-child-reveal.md
- `inscribe_reveal` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/inscribe-reveal.md
- `jingswap_close_deposits` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/jingswap-close-deposits.md
- `jingswap_settle_with_refresh` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/jingswap-settle-with-refresh.md
- `lightning_unlock` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/lightning-unlock.md
- `news_publisher_compile_brief` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/news-publisher-compile-brief.md
- `nonce_heal` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/nonce-heal.md
- `nostr_sign_event` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/nostr-sign-event.md
- `pillar_connect` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/pillar-connect.md
- `pillar_key_generate` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/pillar-key-generate.md
- `pillar_key_lock` — Execute — https://policylayer.com/tools/io-github-aibtcdev-mcp-server/pillar-key-lock.md
- …and 327 more: https://policylayer.com/tools/io-github-aibtcdev-mcp-server.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=io-github-aibtcdev-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-aibtcdev-mcp-server
