create_payment_onchainLABSCO SUMMARY
Two ways to be paid, and choosing between them is the decision.
Name a coin and you get an address the customer must pay in that coin; name none and you get a hosted page where they pick. Everything else — status, catalogue, QR codes — supports those two. Amounts are quoted in fiat and converted, so you charge in EUR and receive crypto.
What it is
A server for Bitnovo Pay's point-of-sale API. It creates a payment, hands back either a blockchain address or a gateway URL, and tracks the payment through to confirmation.
What you get
- create_payment_onchain — an address, a payment URI and an exact crypto amount for one named coin
- create_payment_link — a checkout URL with your own success and cancel destinations, letting the customer choose the coin
- get_payment_status — the payment's state, confirmed and unconfirmed amounts, and a plain-language business status
- list_currencies_catalog — which coins are available, filterable by the amount you are charging
- generate_payment_qr — QR codes for a payment created earlier, at print resolution when you need it
- An expiry timestamp on every onchain payment, because the clock starts the moment the coin is chosen
Requirements
A Bitnovo Pay account and its Device ID, supplied as BITNOVO_DEVICE_ID alongside BITNOVO_BASE_URL. A Device Secret is optional and only needed to validate webhook signatures. Node.js 18 or newer; npx runs it without installing. Setting PORT switches it from stdio to HTTP, which is how it is deployed for remote clients.
Setup effort
One command plus credentials — npx -y @bitnovopay/mcp-bitnovo-pay, then supply credentials
USE CASES
Charging a customer who asked to pay in Bitcoin
Create the onchain payment for the fiat amount and hand over the address, the exact crypto amount and the QR.
Taking a payment when no coin was mentioned
Create a checkout link with your success and cancel URLs and let the customer choose at the gateway.
Knowing whether the money actually arrived
Poll the payment and read confirmed against unconfirmed amounts rather than guessing from the chain.
Telling a customer what they can pay with
List the catalogue filtered by the amount, so nothing shown is below its minimum.
Putting a QR on a printed invoice
Generate the code for an existing payment at a resolution that survives printing.
8 tools
Listed in project docs. Your client may show a different list.
create_payment_linkget_payment_statuslist_currencies_cataloggenerate_payment_qrget_webhook_eventsget_webhook_urlget_tunnel_statusBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
- npx on PATH
- Node.js 18+
- BITNOVO_DEVICE_ID in your environment
Optional
BITNOVO_DEVICE_SECRET in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y @bitnovopay/mcp-bitnovo-payMCP Clients
Claude Desktop, Claude Code
{
"mcpServers": {
"bitnovo-pay": {
"command": "npx",
"args": [
"-y",
"@bitnovopay/mcp-bitnovo-pay"
],
"env": {
"BITNOVO_DEVICE_ID": "<YOUR_BITNOVO_DEVICE_ID>",
"BITNOVO_BASE_URL": "https://pos.bitnovo.com",
"BITNOVO_DEVICE_SECRET": "<YOUR_BITNOVO_DEVICE_SECRET>"
}
}
}
}