Self-custodial Bitcoin payments โ€” for websites and AI agents

Open-source infrastructure. Your keys, your node, your coins. No third party ever touches your funds.

๐Ÿ”‘ Your keys only Private keys are generated and stored locally on the payer's machine. FunkPay never has access to them โ€” not even for a millisecond.
โ›“ Your own Bitcoin node FunkPayAI runs a full local Bitcoin Core node. No third-party node service, no API key, no external dependency for transaction broadcasting.
๐Ÿฆ Zero custody Funds go directly on-chain from payer to payee. No escrow, no intermediary wallet, no wrapping. Pure Bitcoin.
๐Ÿ›ก Your own merchant server btcfunkpay runs on your infrastructure. Payment data, webhooks, and order logic stay on your server โ€” never shared.

Two ways to use FunkPay

FunkPay works both as an embeddable checkout widget for any website, and as an autonomous payment tool for AI agents.

Web payments

Embeddable checkout widget

Add one <script> tag to your website. FunkPay renders a checkout UI, monitors the Bitcoin address, and fires a webhook to your server when payment is confirmed.

Works on any site โ€” static HTML, React, Shopify, WordPress. No plugin required. Shadow DOM isolation keeps styles clean.

<div id="funkpay" data-server="https://your-server.com/pay" data-amount="25.00" data-currency="USD"></div> <script src="https://btcfunk.com/pay/funkpay.js"></script> btcfunkpay server โ†’
AI agent payments

MCP wallet for Claude & agents

FunkPayAI exposes a Model Context Protocol server that Claude Code and other MCP-compatible agents use to pay in Bitcoin autonomously โ€” no human intervention required per transaction.

Configure approval rules: always ask, never ask, or ask above a threshold. The agent operates within your limits.

{ "mcpServers": { "funkpayai": { "command": "node", "args": ["~/.funkpay/mcp-stdio.mjs"] } } } FunkPayAI wallet โ†’

How it works

FunkPay connects two sides: a payer wallet (FunkPayAI) and a merchant server (btcfunkpay). Both run on self-hosted infrastructure โ€” no shared service in the middle.

1

Invoice created

The merchant server generates a Bitcoin address and a BIP-21 payment URI. The widget or AI agent receives it.

2

Payment broadcast

FunkPayAI signs the transaction with the local keys and broadcasts it via the local Bitcoin Core node. Keys never leave the machine.

3

On-chain detection

The merchant server monitors the Bitcoin network. It fires your webhook instantly on mempool detection, and again on each confirmation milestone.

4

Order fulfilled

Your backend receives the webhook and completes the order โ€” ship goods, unlock content, or trigger any server-side action.

Claude Code / AI agent any MCP-compatible client โ”‚ MCP stdio / HTTP โ–ผ FunkPayAI (Electron desktop app) ~/.funkpay/mcp-stdio.mjs proxy โ”‚ JSON-RPC โ–ผ Bitcoin Core (local node, pruned) keys stay on device โ”‚ broadcast โ–ผ Bitcoin network โ”‚ on-chain tx โ–ผ btcfunkpay (your merchant server) REST API + webhook engine โ”‚ webhook POST โ–ผ Your backend โ†’ fulfill order โ”‚ โ””โ”€โ”€ funkpay.js widget โ† customer browser

Ecosystem components

Payer side

FunkPayAI

Electron desktop app for macOS, Windows, Linux. Runs a local Bitcoin Core node (pruned, ~10 GB). Exposes a stdio MCP proxy and a REST API on localhost. Approval policy configurable: always ask, threshold, never ask.

github โ†’
Merchant side

btcfunkpay

Python/FastAPI server you self-host. Generates addresses, monitors the mempool and confirmed blocks, fires webhooks on payment events. Includes funkpay.js โ€” a drop-in checkout widget with multi-currency fiat display and QR code.

github โ†’
Protocol

MCP tools

FunkPayAI exposes 10 MCP tools: get_balance, send_payment, create_invoice, get_invoice_status, wait_for_payment, and more. Works with Claude Code, Cursor, and any MCP-compatible client.

MCP spec โ†’

Get started

Both components are open source and MIT-licensed. Run your own stack or try the testnet demo first.

For AI agent payments

Download FunkPayAI, install Bitcoin Core, add the MCP config to Claude. Your agent can start paying in minutes.

Download FunkPayAI

For website checkout

Deploy btcfunkpay on your server, add one script tag to your site, configure your webhook endpoint. Done.

btcfunkpay server

Try testnet demo

No real money. Test the full flow โ€” widget checkout, AI agent purchase, on-chain confirmation โ€” on Bitcoin testnet.

Testnet demo โ†’