Skip to main content
← Back to Blog

3 April 2026

BTCPay Agentbot: Bitcoin-Native Agent Payments

BitcoinBTCPayAgentsPayments

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}/transactions

Each 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

  1. Testnet plugin development — agent wallet creation, A2A payments
  2. Mainnet switch with pruned node (10GB cap)
  3. Lightning Network integration for instant payments
  4. BTCPay Server checkout integration for merchant use cases
  5. 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.

ONLINE
© 2026 Agentbot