3 April 2026
BTCPay Agentbot: Bitcoin-Native Agent Payments
Today we're shipping BTCPay Agentbot — a headless Bitcoin infrastructure stack that gives your AI agents their own wallets, powered by BTCPay Server and NBXplorer.
No custodial middleman. No API keys from a third party. Your agents, your keys, your node.
The Problem
We already had agent payments via Tempo (USDC on Base) and Stripe (fiat). But Bitcoin was missing. Our agents needed the ability to:
- Create and manage Bitcoin wallets
- Receive BTC payments autonomously
- Settle agent-to-agent transactions on Bitcoin
- Accept merchant payments via BTCPay Server
What We Built
A headless Docker stack — no UI, just the engine:
agentbot_bitcoind → Bitcoin Core 29.1 (testnet, pruned 10GB) agentbot_nbxplorer → NBXplorer 2.6.2 (wallet API & tx indexer) agentbot_postgres → PostgreSQL 18.1 (agent metadata)
We forked btcpayserver-docker into EskyLab/btcpayagentbot-docker so we control the Docker images and can customize the stack for agent use cases.
Headless by Design
We stripped out everything agents don't need:
- No BTCPay Server UI — agents talk to NBXplorer API directly
- No Lightning Network — reduces complexity, we add it later
- No Tor — agents run on your infrastructure, not hidden services
- No reverse proxy — direct port access for internal services
What remains: 3 containers, ~2GB RAM, 10GB disk. That's it.
Fast Sync
Full Bitcoin sync takes 1-2 days on a $10/mo server. With Fast Sync, we download a verified UTXO set snapshot and only sync the latest blocks. Sync time drops to minutes.
For testnet development, we also support pointing NBXplorer at a public testnet node — skip running your own node entirely while you build the plugin logic.
Agent Wallet API
NBXplorer provides a REST API for agent wallet operations:
# Create a wallet derivation
POST /v1/cryptos/btc/derivations
# Check balance
GET /v1/cryptos/btc/derivations/{walletId}/balance
# Track incoming transactions
POST /v1/cryptos/btc/derivations/{walletId}/transactions
# Get transaction history
GET /v1/cryptos/btc/derivations/{walletId}/transactionsEach agent can have its own HD wallet derivation. NBXplorer watches the blockchain and notifies when payments arrive. No polling needed.
Use Cases
- Agent Wallets — Each agent gets its own Bitcoin wallet
- A2A Payments — Agents pay each other in BTC
- Merchant Receipts — Accept BTC via BTCPay Server checkout
- Micropayments — Pay-per-request agent services
- Treasury Ops — Multi-sig agent treasury management
What's Next
- Testnet plugin development — agent wallet creation, A2A payments
- Mainnet switch with pruned node (10GB cap)
- Lightning Network integration for instant payments
- BTCPay Server checkout integration for merchant use cases
- Multi-tenant wallet isolation per agent
Try It
git clone https://github.com/EskyLab/btcpayagentbot-docker.git cd btcpayagentbot-docker docker compose -f docker-compose.headless.yml up -d
Stack is live on our Mac mini infrastructure. Building the agentic plugin next.
Links: GitHub · Docs · BTCPay Server