mcpField
A
aibtc-bitcoin-wallet

aibtc-bitcoin-wallet

github.com/aibtcdevOther1252 installsUpdated 1d ago
Repository

About aibtc-bitcoin-wallet

aibtc-bitcoin-wallet is an Agent Skill for managing Bitcoin L1 wallets, intended for people using compatible MCP clients. It combines wallet operations and signing tools with optional Stacks L2, Pillar wallet, inscription, and x402 capabilities.

Key features

  1. 01Create, import, unlock, and manage encrypted wallets
  2. 02Check BTC balances, fees, and UTXOs
  3. 03Send BTC transactions
  4. 04Sign and verify Bitcoin, Stacks, and Nostr messages
  5. 05Optional Stacks DeFi, Pillar wallet, and inscription workflows
  6. 06Discover and use x402 paid APIs

Use cases

  1. 01Check a wallet balance and current network fees
  2. 02Send BTC after unlocking a wallet
  3. 03Manage multiple wallets and inspect UTXOs
  4. 04Use optional Stacks or x402 workflows

MCP support

The skill installs the @aibtc/mcp-server package for MCP clients, with installer options for Claude Code, Cursor, OpenAI Codex CLI, Gemini CLI, Windsurf, VS Code, and Claude Desktop.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aibtcdev/aibtc-mcp-server --skill aibtc-bitcoin-wallet

After installing, type/aibtc-bitcoin-walletin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
references/
genesis-lifecycle.md
inscription-workflow.md
pillar-wallet.md
stacks-defi.md
troubleshooting.md
x402-inbox.md

Details

From the project README

AIBTC Bitcoin Wallet

A skill for managing Bitcoin L1 wallets with optional Pillar smart wallet and Stacks L2 DeFi capabilities.

Install

One-command installation (Claude Code is the default):

npx @aibtc/mcp-server@latest --install

Other MCP clients are selected with a flag:

npx @aibtc/mcp-server@latest --install --cursor     # Cursor
npx @aibtc/mcp-server@latest --install --codex      # OpenAI Codex CLI
npx @aibtc/mcp-server@latest --install --gemini     # Gemini CLI
npx @aibtc/mcp-server@latest --install --windsurf   # Windsurf
npx @aibtc/mcp-server@latest --install --vscode     # VS Code
npx @aibtc/mcp-server@latest --install --desktop    # Claude Desktop

For testnet, add --testnet to any command:

npx @aibtc/mcp-server@latest --install --testnet

Quick Start

Check Balance

Get your Bitcoin balance:

"What's my BTC balance?"

Uses get_btc_balance - returns total, confirmed, and unconfirmed balances.

Check Fees

Get current network fee estimates:

"What are the current Bitcoin fees?"

Uses get_btc_fees - returns fast (~10 min), medium (~30 min), and slow (~1 hr) rates in sat/vB.

Send BTC

Transfer Bitcoin to an address:

"Send 50000 sats to bc1q..."
"Transfer 0.001 BTC with fast fees to bc1q..."

Uses transfer_btc - requires an unlocked wallet.

Wallet Setup

Before sending transactions, set up a wallet:

  1. Create new wallet: wallet_create - generates encrypted BIP39 mnemonic
  2. Import existing: wallet_import - import from mnemonic phrase
  3. Unlock for use: wallet_unlock - required before transactions

Wallets are stored encrypted at ~/.aibtc/.

Tool Reference

Read Operations
ToolDescriptionParameters
get_btc_balanceGet BTC balanceaddress (optional; requires unlocked wallet if omitted)
get_btc_feesGet fee estimatesNone
get_btc_utxosList UTXOsaddress (optional; requires unlocked wallet if omitted), confirmedOnly
Write Operations (Wallet Required)
ToolDescriptionParameters
transfer_btcSend BTCrecipient, amount (sats), feeRate
Wallet Management
ToolDescription
wallet_createGenerate new encrypted wallet
wallet_importImport wallet from mnemonic
wallet_unlockUnlock wallet for transactions
wallet_lockLock wallet (clear from memory)
wallet_listList available wallets
wallet_switchSwitch active wallet
wallet_statusGet wallet/session status
Message Signing
ToolDescriptionParameters
sip018_signSign structured Clarity data (SIP-018)message, domain
sip018_verifyVerify SIP-018 signature and recover signermessageHash, signature, expectedSigner (optional)
sip018_hashCompute SIP-018 hash without signingmessage, domain
stacks_sign_messageSign plain text with Stacks prefix (SIWS-compatible)message
stacks_verify_messageVerify Stacks message signature and recover signermessage, signature, expectedSigner (optional)
btc_sign_messageSign plain text with Bitcoin key (BIP-137/BIP-322)message, addressType (optional)
btc_verify_messageVerify Bitcoin message signature (auto-detects BIP-137/BIP-322)message, signature, address (optional)
nostr_sign_eventSign a Nostr event (NIP-01) with BIP-340 Schnorr using NIP-06 derived key by default (m/44'/1237'/0'/0/0)kind, content, tags (optional), created_at (optional), keySource ("nostr" default via NIP-06 path, "taproot" for P2TR key, "segwit" for P2WPKH key)
schnorr_sign_digestSign a raw 32-byte digest with Schnorr/BIP-340digest, confirmBlindSign, auxRand (optional)
schnorr_verify_digestVerify a BIP-340 Schnorr signature over a digestdigest, signature, publicKey

Units and Addresses

Amounts: Always in satoshis (1 BTC = 100,000,000 satoshis)

Addresses:

  • Mainnet: bc1... (native SegWit)
  • Testnet: tb1...

Fee Rates: "fast", "medium", "slow", or custom sat/vB number

Example Workflows

Daily Balance Check
1. "What's my BTC balance?"
2. "Show my recent UTXOs"
3. "What are current fees?"
Send Payment
1. "Unlock my wallet" (provide password)
2. "Send 100000 sats to bc1qxyz... with medium fees"
3. "Lock my wallet"
Multi-Wallet Management
1. "List my wallets"
2. "Switch to trading wallet"
3. "Unlock it"
4. "Check balance"

Progressive Layers

This skill focuses on Bitcoin L1. Additional capabilities are organized by layer:

Stacks L2 (Layer 2)

Bitcoin L2 with smart contracts and DeFi:

  • STX token transfers
  • ALEX DEX token swaps
  • Zest Protocol lending/borrowing
  • x402 paid API endpoints (AI, storage, utilities) — safe-by-default with probe-before-pay workflow

See: references/stacks-defi.md

Pillar Smart Wallet (Layer 3)

sBTC smart wallet with yield automation:

  • Passkey or agent-signed transactions
  • Send to BNS names (alice.btc)
  • Auto-boost yield via Zest Protocol

See: references/pillar-wallet.md

Bitcoin Inscriptions

Inscribe and retrieve digital artifacts on Bitcoin:

  • Commit-reveal inscription workflow
  • Get inscription content and metadata
  • Protect ordinal UTXOs from accidental spending

See: references/inscription-workflow.md

x402 Paid APIs

Pay-per-use APIs with automatic micropayments on Stacks L2:

  • Discover available endpoints with list_x402_endpoints
  • Check cost before paying with probe_x402_endpoint
  • Execute endpoints with execute_x402_endpoint (safe-by-default — probes first)
  • Send inbox messages with send_inbox_message_direct (use this instead of execute_x402_endpoint for inbox)
  • Build new x402 APIs with scaffold_x402_endpoint and scaffold_x402_ai_endpoint

Always probe before executing paid endpoints. Never call execute_x402_endpoint with autoApprove: true without checking cost first.

send_inbox_message_direct — dedicated tool for aibtc.com inbox messages:

  • Parameters: recipientBtcAddress (bc1...), recipientStxAddress (SP...), content (max 500 chars)
  • Direct (non-sponsored) payment: signs a standard sBTC transfer and settles through the x402 facilitator — no relay in the middle
  • Sender pays BOTH the sBTC message cost AND its own STX gas; requires an unlocked wallet holding sBTC and STX (mainnet only)
  • Implements the full x402 v2 payment flow with a balance pre-check
  • Note: the older sponsored send_inbox_message tool is deprecated and no longer sends — use this tool instead

See: references/stacks-defi.md for endpoint catalog See: references/x402-inbox.md for inbox-specific flow details

Genesis Lifecycle

Agent identity and reputation on Bitcoin and Stacks:

  • L0: Local agent key generation
  • L1: Dual-chain plain-message signatures (btc_sign_message + stacks_sign_message)
  • L2: X claim + BTC airdrop activation
  • L3: On-chain identity registration via ERC-8004 (register_identity)
  • L4: Reputation bootstrapping (get_reputation, give_feedback)
  • Active: 5-minute check-ins to maintain reputation and liveness

See: references/genesis-lifecycle.md

Troubleshooting

"Wallet not unlocked"

Run wallet_unlock with your password before sending transactions.

"Insufficient balance"

Check get_btc_balance - you need enough BTC for amount + fees.

"Invalid address"

Ensure address matches network:

  • Mainnet: starts with bc1
  • Testnet: starts with tb1

See: references/troubleshooting.md

More Information


This skill follows the Agent Skills open specification.

Comments

Markdown supported