OpenNode MCP for AI. Process BTC and Lightning payments natively.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
OpenNode MCP Server processes Bitcoin and Lightning Network payments directly from your agent. You can create charges using BOLT11 invoices or on-chain addresses, manage payouts to both LN and BTC, and track all transaction history.
It gives your AI client the tools it needs to handle crypto receipts and fund transfers securely.
What your AI can do
Get account balance
Retrieves the current total balance for your OpenNode account across supported currencies.
List activity
Provides an audit log of all account actions and transactions that have occurred.
Create address
Creates and returns a new, static on-chain Bitcoin address for receiving funds.
Create a new charge request using create_charge with either a BOLT11 invoice or an on-chain address.
Initiate withdrawals to Bitcoin addresses or Lightning Network invoices, and confirm these transactions with specific confirmation tools.
Get the current account balance using get_account_balance or view detailed transaction history via list_activity.
Process refunds for underpaid charges (create_refund) or initiate fiat-to-crypto exchanges between BTC and fiat currencies using initiate_exchange.
Ask an AI about this
Waiting for input…
OpenNode: 22 Tools for Crypto Payment Processing
Use these tools to handle the entire crypto payment lifecycle—from accepting incoming payments via BOLT11 invoices to initiating scheduled payouts over BTC and LN.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using OpenNode on VinkiusGet Account Balance
Retrieves the current total balance for your OpenNode account across supported currencies.
List Activity
Provides an audit log of all account actions and transactions that have occurred.
Create Address
Creates and returns a new, static on-chain Bitcoin address for receiving funds.
List Addresses
Lists all the static on-chain Bitcoin addresses you currently manage through...
Create Charge
Generates a payment request (charge) using either a Lightning BOLT11 invoice or an...
Get Charge
Fetches specific details about a single charge ID, confirming status and amount paid.
List Charges
Retrieves a list of all charges that have been successfully paid by customers.
Get Currencies
Lists all the originating currencies that OpenNode supports for payment processing.
Initiate Exchange
Starts an exchange transaction, converting BTC into fiat currency and vice versa.
Create Lnurl Pay
Creates and returns a static LNURL-Pay address for receiving Lightning payments.
List Lnurl Pay
Lists the static LNURL-Pay addresses you have set up for receiving Lightning...
Initiate Lnurl Withdrawal
Begins a withdrawal payout specifically using the LNURL-Pay format for Lightning payouts.
Get Rates
Retrieves current exchange rates between Bitcoin and fiat currencies.
Create Refund
Processes a refund against an existing charge that was underpaid by the customer.
Get Refund
Fetches specific details regarding a refund transaction, including the reason and...
List Refunds
Provides an overview and list of all processed refunds on your account.
Set Scheduled Withdrawals
Sets or modifies the status for automated, scheduled bank withdrawals.
Confirm Chain Withdrawal
Confirms a Bitcoin-based withdrawal request that was previously previewed.
Confirm Ln Withdrawal
Confirms a Lightning Network payout request that was previously previewed.
Get Withdrawal
Retrieves detailed information about a planned or pending withdrawal payout.
Initiate Withdrawal
Starts a general withdrawal process, handling both Lightning and standard blockchain...
List Withdrawals
Retrieves a complete record of every withdrawal initiated from the account history.
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with OpenNode, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by OpenNode. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 22 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Dealing with crypto payments means logging into three different dashboards.
Right now, if you process a Bitcoin payment, you log into the exchange dashboard. If you need to list charges, you jump to your accounting software. If you send payouts, you open a separate treasury portal. This manual copy-pasting and switching slows down everything.
With this OpenNode MCP Server, all of that moves into one chat window with your agent. You tell it what needs doing—whether it's listing paid charges (`list_charges`) or initiating an exchange—and the agent handles the API calls across every system for you. It just works.
The OpenNode MCP Server gives you control over payouts.
Manual payout setup involves generating withdrawal requests, waiting for a preview to clear, and then manually hitting the 'confirm' button on different networks. Missing one step means funds get stuck in limbo.
Now, your agent handles that whole sequence. You call `initiate_withdrawal` or `initiate_lnurl_withdrawal`, check the details via `get_withdrawal`, and confirm the final payout using `confirm_chain_withdrawal`. It's a single conversation, end-to-end.
What your AI can actually do with this
You're running a payment stack for Bitcoin and Lightning Network receipts? This OpenNode MCP Server gives your agent everything it needs to handle crypto funds, from accepting charges to sending payouts. You can process complex financial workflows—it handles both BTC and LN payments under one roof.
Accepting Funds and Creating Charges
To take a payment, you'll generate a charge using create_charge, which accepts either a Lightning BOLT11 invoice or a direct on-chain Bitcoin address. You can keep track of all the money coming in by calling list_charges, giving you a list of every paid charge ID. If you need to process a refund for an underpaid customer, use create_refund.
To get specific details about any past charge or refund, call get_charge or get_refund, respectively.
You'll never run out of place to take money because the server lets you set up static receiving addresses. Use create_address to generate and manage a new on-chain Bitcoin address for incoming funds, and if you're focused on Lightning, create_lnurl_pay generates a dedicated LNURL-Pay address. To see all your existing setup, check list_addresses or list_lnurl_pay.
Managing Payouts and Withdrawals
When it's time to send money out, the server handles both BTC and Lightning payouts. You initiate a general payout using initiate_withdrawal, which manages both standard blockchain transfers and Lightning payments, and you can preview any pending payment details by calling get_withdrawal. For dedicated LN withdrawals, use initiate_lnurl_withdrawal for the specific format required.
Whenever a payout is ready to go, your agent confirms it. If it's a standard Bitcoin withdrawal, run confirm_chain_withdrawal. If you're paying out over Lightning Network, confirm the transfer with confirm_ln_withdrawal. You can track every payment sent by calling list_withdrawals for a complete history of all initiated payouts.
Account Oversight and Financial Tools
You need to know where your money is. Run get_account_balance anytime you want the current total balance across supported OpenNode currencies. To see what payments are coming, call list_activity, which provides an audit log of every account action and transaction that's occurred. You can also pull a list of all originating currencies with get_currencies.
If you need to move money between crypto and fiat, use initiate_exchange to start the conversion process between BTC and fiat currency. The server helps keep you current by providing real-time exchange rates through get_rates. For managing large fund flows over time, you can set up automated transfers using set_scheduled_withdrawals.
To get a full picture of your history, check list_refunds for an overview of all processed refunds, or review the complete record by calling list_charges again. The server ensures every step—from setting up addresses to scheduling payments and initiating exchanges—is available directly through your agent.
019ea5fc-a5b3-704a-b914-0b4f4a694472 Here's how it actually works
The bottom line is that your AI client talks to OpenNode via API calls, handling all payment logic without needing manual web interaction.
First, you subscribe to the server and provide your OpenNode API Key. This authenticates your account.
Next, you instruct your agent on the required action (e.g., 'Create a charge for $50' or 'Send 1 BTC').
The agent executes the appropriate tool (create_charge, initiate_withdrawal) and returns the necessary ID, invoice, or confirmation details.
Who is this actually for?
E-commerce operations managers and fintech developers. This server solves the problem of manually reconciling crypto payments from disparate sources (BOLT11, BTC addresses). If your job involves receiving or distributing funds across Bitcoin and Lightning, you need this.
Builds payment rails into applications. Uses create_charge and get_account_balance to integrate crypto payments into existing checkout flows.
Handles daily revenue reconciliation. Runs list_charges and list_withdrawals to audit successful sales and payouts after a major sale period.
Manages institutional fund movements. Uses tools like initiate_withdrawal and set_scheduled_withdrawals to move large amounts of crypto between wallets or banks.
What Changes When You Connect
Saves time on reconciliation. Instead of manually checking bank statements, you ask your agent to run list_charges or list_withdrawals. It gives you a clear audit trail for every incoming payment and outgoing payout.
Handles multiple networks without switching tools. You can accept payments via BOLT11 invoices (create_charge) and immediately schedule payouts over BTC or LN using initiate_withdrawal in the same session.
Keeps your funds secure and liquid. You don't just send money; you manage it. Use get_account_balance to check reserves, then use initiate_exchange if you need cash instead of crypto.
Simplifies address management. Need a new receipt address? Call create_address or create_lnurl_pay. You get the static, ready-to-use string instantly, without visiting a web dashboard.
Manages complex payment failures. If a customer pays too little, you don't have to guess what went wrong. Use get_charge and then call create_refund directly through your agent.
See it in action
Handling Bulk E-commerce Sales
A store manager needs to process a large batch of sales. Instead of compiling 50 BOLT11 invoices and manually checking their status, the agent runs create_charge for each order ID, generating both the LN invoice and on-chain address in one flow. The manager then uses list_charges to confirm all payments cleared.
Executing a Payroll Payout
A company needs to pay its employees weekly crypto salaries. They ask the agent to check the balance (get_account_balance) and then use initiate_withdrawal for each employee, specifying either BTC or LN payment rails. The agent handles the entire payout sequence.
Auditing a Payment Dispute
A customer claims they paid but the record is missing. Instead of emailing support with screenshots, the user asks their agent to check the status using get_charge with the specific transaction ID. The agent confirms if the payment was received and marked as 'paid' on OpenNode.
Setting Up Automated Treasury Transfers
The finance department needs funds automatically moved to a bank account every month. They use set_scheduled_withdrawals via their agent, setting the criteria and timing. The agent handles the API interaction for future payout confirmation.
The honest tradeoffs
Assuming all payouts are BTC
Trying to send a payment using initiate_withdrawal but failing to specify whether the recipient needs Lightning (LN) or standard blockchain (BTC). This causes transaction failure and manual follow-up.
Always check the destination type. If it's Lightning, use initiate_lnurl_withdrawal first. For BTC payouts, use initiate_withdrawal then confirm with confirm_chain_withdrawal. Never guess the payout rail.
Ignoring required balance checks
Calling create_refund for a large amount without checking if funds are available. The API call fails, leaving the user guessing why the refund didn't go through.
Always start by calling get_account_balance. This confirms you have sufficient liquid assets before attempting to issue any payout or refund via create_refund.
Not confirming previewed payouts
The agent shows a successful withdrawal preview, but the user assumes it's complete. The funds stay stuck in 'pending' status, leading to payment delays.
After viewing any payout details using get_withdrawal, you must explicitly call either confirm_ln_withdrawal or confirm_chain_withdrawal to finalize and release the funds.
When It Fits, When It Doesn't
Use this server if your primary need is managing payments (inflow/outflow) across Bitcoin and Lightning Network rails. The tools are specialized: you use create_charge for receiving money, and initiate_withdrawal or initiate_lnurl_withdrawal for sending it. Don't use this if you just need to read a simple list of crypto prices; use get_rates. If you only need to manage static addresses without processing payments, then list_addresses is enough, but you'll miss the core functionality of payouts and charges. This server handles the entire payment lifecycle: from initial payment request (create_charge) through funding confirmation (confirm_chain_withdrawal), up to scheduled bank transfers (set_scheduled_withdrawals).
Questions you might have
How do I get a new receiving address with create_address? +
You call create_address and specify the desired coin. The tool returns a static, ready-to-use on-chain BTC address that you can give to customers instantly.
What's the difference between initiate_withdrawal and initiate_lnurl_withdrawal? +
initiate_withdrawal handles general payouts across both Lightning and standard blockchain rails. Use initiate_lnurl_withdrawal specifically when your payout destination is an LNURL-Pay address.
Can I list all my past payments using list_charges? +
Yes, running list_charges returns a record of every charge that has been successfully paid. This helps you audit sales and reconcile revenue quickly.
Do I need to check get_account_balance before setting scheduled withdrawals? +
While not mandatory, it's best practice. Always run get_account_balance first. It confirms your current liquid funds are available for the scheduled transfers you plan to set up with set_scheduled_withdrawals.
What tool do I use to refund a customer? +
You must use create_refund. This function requires details about the original charge, making sure the refund is properly linked and tracked in your account history using list_refunds.
What does `list_activity` show if I need a full audit of my account? +
It lists every major transaction action taken on your account. This tool gives you a comprehensive log, tracking everything from charges and refunds to withdrawals and status changes.
How do I use `initiate_exchange` to convert Bitcoin into fiat currency? +
You call initiate_exchange when you need to swap BTC for traditional money. The tool handles the conversion process, letting you move crypto balances into a usable fiat format.
After using `initiate_withdrawal`, what is the purpose of `confirm_chain_withdrawal`? +
You must use confirm_chain_withdrawal to execute a pending withdrawal. Initiating just drafts the request; confirmation sends the final instructions and locks in the payout.
How do I generate a new Bitcoin payment request? +
Use the create_charge tool. Provide the amount in satoshis (or specify a currency like USD) and an optional description. The tool returns a BOLT11 Lightning invoice and an on-chain address.
Can I preview a withdrawal before confirming it? +
Yes. Call initiate_withdrawal with auto_confirm set to false. This generates a preview. You can then finalize it using confirm_chain_withdrawal or confirm_ln_withdrawal depending on the type.
How do I check my past withdrawals? +
You can use the list_withdrawals tool to retrieve a list of past withdrawals, with optional filters for page size, page number, and withdrawal type (like 'ln' or 'chain').
We've already built the connector for OpenNode. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 22 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.