BTCPay Server integration
BTCPay Server is a self-hosted Bitcoin and Lightning payment processor. Through its Greenfield API an agent can create, list, update, archive, mark and refund invoices; create payment requests and pull payments; create, approve, cancel and mark payouts and configure the automated payout processors; manage stores, store users and roles, payment methods, exchange-rate settings, webhooks and their deliveries, Point of Sale and Crowdfund apps, Lightning addresses and subscription offerings, plans and subscribers; read the store's on-chain wallet (balance, addresses, transactions, UTXOs, labels) and create or broadcast transactions; use the store's Lightning node (balance, channels, invoices, payments, pay an invoice); run store reports and read notifications. Server administration (users, server email, API keys, the server's internal Lightning node, file storage), image and logo uploads, wallet generation, store invitation acceptance and the HTML checkout page are not exposed. Routes that reach an invoice, payment request or webhook by its id alone need BTCPay Server 2.4.0 or later, and payouts by id 2.4.1 or later; an older server answers them with not found. Set the connection's instance URL to your server's origin, for example https://btcpay.example.com. Authentication is an API key from Account > Manage Account > API Keys, sent in the Authorization header as token <key>; each key only reaches what its permissions allow.
Say what should happen.
The workflow builds itself.
What you can do with BTCPay Server
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Payout, 8 operations
approve_payoutApprove payoutPOSTApproves a payout awaiting approval so it moves to AwaitingPayment, optionally fixing its rate with rateRule (a rate rule or a fixed decimal).cancel_payoutCancel payoutDELETECancels a payout that has not been paid yet.create_pull_payment_payoutCreate pull payment payoutPOSTClaims a payout from a pull payment to a destination address or Lightning invoice, for an amount in the pull payment's currency. It then awaits approval unless the pull payment auto-approves.create_store_payoutCreate store payoutPOSTCreates a payout from the store to a destination address or Lightning invoice, optionally tied to a pull payment and approved at once.get_payoutGet payoutGETReturns one payout: amount, destination, payout method, state (AwaitingApproval, AwaitingPayment, InProgress, Completed, Cancelled) and payment proof.get_pull_payment_payoutGet pull payment payoutGETReturns one payout of a pull payment: amount, destination, method and state.list_pull_payment_payoutsList pull payment payoutsGETLists the payouts claimed against a pull payment, with amount, destination and state.list_store_payoutsList store payoutsGETLists the store's payouts with amount, destination, method and state.
Invoice, 7 operations
archive_invoiceArchive invoiceDELETEArchives an invoice so it no longer shows in the default invoice list. unarchive_invoice restores it.create_invoiceCreate invoicePOSTCreates an invoice in a store for an amount and currency (no amount makes a top-up invoice). Returns its id, status and checkoutLink to send to the payer.create_lightning_invoiceCreate lightning invoicePOSTCreates a BOLT11 Lightning invoice on the store's node for an amount in millisatoshi, with a description and expiry. Returns the BOLT11 to pay.get_invoiceGet invoiceGETReturns one invoice: amount, currency, status (New, Processing, Settled, Expired, Invalid), additional status, checkout link, metadata and dates.get_lightning_invoiceGet lightning invoiceGETReturns one Lightning invoice of the store's node: BOLT11, status, amount and paid date.list_invoicesList invoicesGETLists a store's invoices, newest first, filtered by order id, text, status or date; each with id, amount, currency, status and checkout link.list_lightning_invoicesList lightning invoicesGETLists the Lightning invoices of the store's node, optionally only pending ones.
App, 4 operations
delete_appDelete appDELETEDeletes a Point of Sale or Crowdfund app.get_appGet appGETReturns the data shared by every app type: id, name, type, store id, created date and archived flag.list_appsList appsGETLists the Point of Sale and Crowdfund apps of every store the API key can access, with id, name, type and store id.list_store_appsList store appsGETLists the Point of Sale and Crowdfund apps of one store.
Payment method, 4 operations
delete_store_payment_methodDelete store payment methodDELETERemoves a payment method's configuration from the store.get_store_payment_methodGet store payment methodGETReturns one payment method of the store with its enabled flag and configuration.list_invoice_payment_methodsList invoice payment methodsGETReturns an invoice's payment methods with destination (address or BOLT11), rate, due amount and payments received.list_store_payment_methodsList store payment methodsGETLists the store's payment methods (BTC-CHAIN on-chain, BTC-LN Lightning, BTC-LNURL) with enabled flag and configuration.
Payment request, 4 operations
archive_payment_requestArchive payment requestDELETEArchives a payment request.create_payment_requestCreate payment requestPOSTCreates a payment request: a shareable page where a customer pays an amount, possibly in several invoices. Returns its id.get_payment_requestGet payment requestGETReturns one payment request: amount, currency, title, status, expiry and settings.list_payment_requestsList payment requestsGETLists the store's payment requests (invoices a customer can pay in parts), with amount, currency, status and expiry.
Pull payment, 4 operations
archive_pull_paymentArchive pull paymentDELETEArchives a pull payment and cancels its payouts awaiting payment.create_pull_paymentCreate pull paymentPOSTCreates a pull payment: an amount in a currency the receiver can claim as payouts through its view link. autoApproveClaims=true lets claims skip approval.get_pull_paymentGet pull paymentGETReturns a pull payment: name, amount and currency, dates, payout methods, archived flag and the public view link. Works without an API key.list_pull_paymentsList pull paymentsGETLists the store's pull payments, optionally including archived ones.
Store, 4 operations
create_storeCreate storePOSTCreates a store with a name and optional checkout, currency, expiration and Lightning settings. Returns the store with its id.delete_storeDelete storeDELETERemoves a store. If other users have access, only your access to it is removed.get_storeGet storeGETReturns one store's settings: name, website, default currency, invoice expiration, checkout and Lightning options.list_storesList storesGETLists the stores the API key can access, with id, name, website, default currency and checkout settings.
Webhook, 4 operations
create_webhookCreate webhookPOSTCreates a webhook: BTCPay posts the chosen store events to the URL, signed with the webhook secret. The secret is not passed back here, and get_webhook does not return it either.delete_webhookDelete webhookDELETEDeletes a webhook.get_webhookGet webhookGETReturns one webhook with its URL, enabled flag and subscribed events (not its secret).list_webhooksList webhooksGETLists the store's webhooks with URL, enabled flag and subscribed events.
Lightning address, 3 operations
delete_lightning_addressDelete lightning addressDELETERemoves a Lightning address from the store.get_lightning_addressGet lightning addressGETReturns one Lightning address of the store with its currency and amount limits.list_lightning_addressesList lightning addressesGETLists the store's Lightning addresses (user@your-server) and their currency and amount limits.
Notification, 3 operations
delete_notificationDelete notificationDELETEDeletes one notification of the current user.get_notificationGet notificationGETReturns one notification of the current user.list_notificationsList notificationsGETLists the current user's notifications, optionally only unseen ones.
Object, 3 operations
delete_wallet_objectDelete wallet objectDELETERemoves a wallet object and its links.get_wallet_objectGet wallet objectGETReturns one wallet object with its data and links.list_wallet_objectsList wallet objectsGETLists wallet objects (transactions, addresses, labels, comments) and their links, filtered by type or id.
Offering, 3 operations
create_offeringCreate offeringPOSTCreates a subscription offering in a store (an app grouping plans and subscribers).get_offeringGet offeringGETReturns a subscription offering with its plans and features.list_offeringsList offeringsGETLists the subscription offerings (product subscriptions) of a store.
Payout processor, 3 operations
delete_payout_processorDelete payout processorDELETERemoves a payout processor from the store.list_payout_processorsList payout processorsGETLists the payout processor types this server offers (on-chain and Lightning automated senders), with the payment methods each supports.list_store_payout_processorsList store payout processorsGETLists the payout processors configured on the store.
Preview, 3 operations
preview_proposed_wallet_addressesPreview proposed wallet addressesPOSTLists the addresses a proposed derivation scheme (an xpub) would generate, before saving it.preview_rate_configurationPreview rate configurationPOSTTests a rate configuration (scripting or a rate source) and returns the resulting rates, without saving it.preview_wallet_addressesPreview wallet addressesGETLists the addresses the store's current on-chain derivation scheme generates, to check them.
Transaction, 3 operations
create_wallet_transactionCreate wallet transactionPOSTCreates an on-chain transaction from the store's hot wallet to the destinations. It is signed and broadcast (money sent) unless proceedWithBroadcast=false, which returns the transaction instead.get_wallet_transactionGet wallet transactionGETReturns one transaction of the store's on-chain wallet.list_wallet_transactionsList wallet transactionsGETLists the transactions of the store's on-chain wallet with amount, confirmations, timestamp, labels and comment.
User, 3 operations
add_store_userAdd store userPOSTAdds a user to a store with a role. By default an invitation is sent; requireInvitation=false adds them directly (needs server settings permission).list_store_usersList store usersGETLists the users of a store with their role.remove_store_userRemove store userDELETERemoves a user from a store. Fails when they are its only owner.
Address, 2 operations
get_lightning_node_deposit_addressGet lightning node deposit addressPOSTReturns a new on-chain Bitcoin address of the store's Lightning node, to fund it.get_wallet_receive_addressGet wallet receive addressGETReturns a receive address of the store's on-chain wallet; forceGenerate=true reserves a new one.
Channel, 2 operations
list_lightning_channelsList lightning channelsGETLists the channels of the store's Lightning node with peer, capacity, local balance and state.open_lightning_channelOpen lightning channelPOSTOpen a channel with another lightning node. You should connect to that node first.
Crowdfund, 2 operations
create_crowdfund_appCreate crowdfund appPOSTCreates a Crowdfund app in a store: a public page collecting contributions toward a target amount, with optional perks and dates.get_crowdfund_appGet crowdfund appGETReturns a Crowdfund app's full settings: title, target amount and currency, dates, perks display options and sounds.
Delivery, 2 operations
get_webhook_deliveryGet webhook deliveryGETReturns one webhook delivery: timestamp, status, HTTP code and error.list_webhook_deliveriesList webhook deliveriesGETLists the latest deliveries of a webhook, newest first, with status and HTTP code.
Histogram, 2 operations
get_lightning_balance_histogramGet lightning balance histogramGETReturns the balance history of the store's Lightning node as a series for charts.get_wallet_balance_histogramGet wallet balance histogramGETReturns the balance history of the store's on-chain wallet as a series for charts.
Info, 2 operations
get_lightning_node_infoGet lightning node infoGETReturns the store's Lightning node info: node URIs, block height, alias, color, version and channel counts.get_server_infoGet server infoGETReturns the server's version, onion address, supported payment methods and the sync state of each chain.
Lightning automated payout sender factory, 2 operations
get_lightning_payout_processorGet lightning payout processorGETReturns the store's automated Lightning payout sender for one payout method.list_lightning_payout_processorsList lightning payout processorsGETLists the store's automated Lightning payout senders and their settings.
Pay, 2 operations
create_payment_request_invoiceCreate payment request invoicePOSTCreates (or, with allowPendingInvoiceReuse, reuses) an invoice to pay a payment request, for its due amount or a partial amount. Returns the invoice with its checkout link.pay_lightning_invoicePay lightning invoicePOSTPays a BOLT11 Lightning invoice from the store's node. Sends money. If the payment does not settle within sendTimeout (30 s by default) its status is pending: check it with get_lightning_payment.
Payment, 2 operations
get_lightning_paymentGet lightning paymentGETReturns one outgoing Lightning payment of the store's node by payment hash: status, amount, fee and preimage.list_lightning_paymentsList lightning paymentsGETLists the outgoing Lightning payments of the store's node.
Plan, 2 operations
create_offering_planCreate offering planPOSTCreates a plan in a subscription offering: name, price and currency, recurrence, trial and grace days, features.get_offering_planGet offering planGETReturns one plan of a subscription offering.
Plan checkout, 2 operations
create_plan_checkoutCreate plan checkoutPOSTCreates a checkout session where a customer buys or activates a subscription plan; returns its id and URL to send the customer to.get_plan_checkoutGet plan checkoutGETReturns a plan checkout session: plan, customer, invoice and state.
Po, 2 operations
create_point_of_sale_appCreate point of sale appPOSTCreates a Point of Sale app in a store: a public page where buyers pay for items or a custom amount.get_point_of_sale_appGet point of sale appGETReturns a Point of Sale app's full settings: title, currency, default view (Static, Cart, Light or Print), items, tips and button texts.
Refund, 2 operations
get_invoice_refund_amountsGet invoice refund amountsGETReturns the amounts refund_invoice would refund for an invoice and payment method under each refund variant, before you create the refund.refund_invoiceRefund invoicePOSTCreates a refund for a paid invoice as a pull payment the customer claims. refundVariant picks the amount: RateThen, CurrentRate, Fiat, OverpaidAmount or Custom. Returns the pull payment with its view link.
Role, 2 operations
list_server_store_rolesList server store rolesGETLists the store roles defined at server level, with their permissions.list_store_rolesList store rolesGETLists the roles available in a store with their permissions.
Subscriber, 2 operations
delete_subscriberDelete subscriberDELETEDeletes a subscriber from a subscription offering.get_subscriberGet subscriberGETReturns a subscriber of an offering: plan, active and suspended flags, start and expiration dates.
Activate, 1 operation
activate_invoice_payment_methodActivate invoice payment methodPOSTActivates a payment method of an invoice created with lazy payment methods, generating its address or Lightning invoice.
Balance, 1 operation
get_lightning_node_balanceGet lightning node balanceGETReturns the store's Lightning node balance: on-chain (confirmed, unconfirmed, reserved) and off-chain (local, remote, opening, closing).
Broadcast, 1 operation
broadcast_wallet_transactionBroadcast wallet transactionPOSTBroadcasts a signed raw transaction hex or a finalized PSBT through the store's wallet. Irreversible once broadcast.
Configuration, 1 operation
get_rate_configurationGet rate configurationGETReturns the store's primary or fallback rate settings: preset source or rate script.
Connect, 1 operation
connect_lightning_nodeConnect lightning nodePOSTConnects the store's Lightning node to another node (pubkey@host:port), a step before open_lightning_channel.
Credit, 1 operation
get_subscriber_creditGet subscriber creditGETReturns a subscriber's credit balance in one currency.
Feerate, 1 operation
get_wallet_fee_rateGet wallet fee rateGETReturns the recommended on-chain fee rate in satoshi per virtual byte for a confirmation target.
Health, 1 operation
get_healthGet healthGETChecks whether the BTCPay Server instance is up and fully synchronized. No API key permission is needed.
Invitation, 1 operation
list_store_invitationsList store invitationsGETLists the store's pending and expired user invitations.
Link, 1 operation
delete_wallet_object_linkDelete wallet object linkDELETERemoves a link between two wallet objects.
Lnurl, 1 operation
get_pull_payment_lnurlGet pull payment lnurlGETReturns the LNURL-withdraw details of a pull payment, used to claim it from a Lightning wallet.
Mark, 1 operation
mark_payout_stateMark payout statePOSTSets a payout's state by hand (AwaitingPayment, InProgress, Completed, Cancelled), optionally with a payment proof, for payouts paid outside BTCPay.
Mark paid, 1 operation
mark_payout_paidMark payout paidPOSTMarks a payout as paid (Completed) after you paid it outside BTCPay Server. Nothing is sent.
Me, 1 operation
get_current_userGet current userGETReturns the user that owns the API key: id, email, name and roles.
Notification settings, 1 operation
get_notification_settingsGet notification settingsGETReturns which notification types the current user has turned off.
On chain automated payout sender factory, 1 operation
get_onchain_payout_processorGet onchain payout processorGETReturns the store's automated on-chain payout sender for one payment method.
On chain automated transfer sender factory, 1 operation
list_onchain_payout_processorsList onchain payout processorsGETLists the store's automated on-chain payout senders and their settings.
Rate, 1 operation
get_store_ratesGet store ratesGETReturns the exchange rates the store currently uses for the given currency pairs.
Rate source, 1 operation
list_rate_sourcesList rate sourcesGETLists the exchange-rate providers (id, name) a store can use as its rate source.
Redeliver, 1 operation
redeliver_webhook_deliveryRedeliver webhook deliveryPOSTSends a past webhook delivery again, asynchronously. Fails with 409 when the delivery was pruned.
Report, 1 operation
run_store_reportRun store reportPOSTRuns a store report and returns its fields and rows. search holds the view (Invoices, Payments, Payouts, Refunds, Sales, Wallets and others) and the date range, for example view:Invoices,daterange:thismonth.
Request, 1 operation
get_webhook_delivery_requestGet webhook delivery requestGETReturns the JSON body that was posted to the webhook URL in one delivery.
Sale, 1 operation
get_app_salesGet app salesGETReturns an app's sales statistics over a number of days: sales count and the daily series.
Status, 1 operation
mark_invoice_statusMark invoice statusPOSTMarks an invoice as Settled or Invalid by hand, for example after a payment received outside BTCPay.
Top item, 1 operation
get_app_top_itemsGet app top itemsGETReturns the best-selling items of a Point of Sale or Crowdfund app, with sales count and total.
Utxo, 1 operation
list_wallet_utxosList wallet utxosGETLists the unspent outputs (UTXOs) of the store's on-chain wallet with amount, outpoint, address and confirmations.
Wallet, 1 operation
get_wallet_overviewGet wallet overviewGETReturns the store's on-chain wallet balance: confirmed, unconfirmed and total.
Showing the first 120 of 147 endpoints. The rest are in the product, searchable from the workflow builder and from chat.
Use BTCPay Server from Claude Code, Cursor or Codex
Connect BTCPay Server in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its BTCPay Server operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect BTCPay Server
- Create your workspace
Sign up free. Nothing to install.
- Connect BTCPay Server once
Add your BTCPay Server connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
BTCPay Server integration FAQ
What can you do with the BTCPay Server integration?
LiveContext exposes 147 operations on BTCPay Server, covering payout, invoice, app and payment method.
