Mostro P2P CLI is a free, open source command-line client for Mostro, a peer-to-peer marketplace for trading bitcoin against fiat over the Lightning Network. It is written for users who prefer a terminal to a graphical interface, and for developers and operators who want to script trades, automate order handling or run administrative tasks.
The project is still a work in progress and is licensed under GPL-3.0. Its latest release is v0.16.3, and the code was last updated on 2026-10-14. Because it is under active development, expect commands and requirements to change between versions, and read the release notes before upgrading an existing setup.
What Is Mostro and How Does It Work?
Mostro is a peer-to-peer trading system that uses the Nostr protocol to publish orders and exchange messages between users. Instead of a company holding customer funds, trades are coordinated through relays and settled over the Lightning Network. The Mostro P2P CLI is the terminal client that talks to a Mostro instance, so anything you can do in a graphical app can also be done from the command line.
Because orders are shared as Nostr events, anyone with a compatible client can see the same public order book. The relays you connect to determine which orders you see, which is why the client requires you to specify them explicitly. Understanding this design helps explain several of the setup requirements described later.
Who Is This Client For?
The CLI suits three main groups. Experienced traders who already work in a terminal may prefer quick, keyboard-driven order handling. Developers and power users can combine the commands with shell scripts to monitor the order book or automate routine steps. Node operators and administrators need the admin subcommands to manage disputes.
Beginners who have never used a command line may find a graphical front end easier to start with. The CLI assumes you are comfortable setting environment variables, reading error messages and keeping track of your keys. If that describes you, the client gives you direct control over every step of a trade.
Practical Use Cases
A common scenario is monitoring the order book for offers that match a price you are willing to accept. A short script can list open orders at regular intervals, so you do not need to keep a window open all day. Another use is posting a range order during a period when you want to sell bitcoin but are not sure of the exact amount.
Operators who run a Mostro instance can use the admin commands to review and settle disputes in batches. Developers testing the protocol can use the CLI to reproduce each step of a trade, which is often easier than clicking through a graphical interface repeatedly.
Key Concepts: Lightning Invoices, Hold Invoices and Relays
Several terms come up repeatedly when using Mostro. A Lightning invoice is a payment request that tells the payer the amount and destination. Mostro uses hold invoices, which lock funds until the trade completes or is cancelled, so neither party can run off with the payment mid-trade.
Relays are servers that store and forward Nostr events. Each relay is identified by a wss:// URL. Using several relays improves reliability, because if one goes offline your orders and messages can still reach the network through another. The RELAYS setting lists the relays the client should use, separated by commas.
Key features
Order book browsing
Taking buy and sell orders
Posting new orders
Full sell and buy flows
Cooperative cancellation
Invoice replacement for buyers
Dispute flow for users
Dispute management for solvers
Buy orders with a Lightning Address
Direct messages with NIP-17
Conversation key management
Supported coins
The documentation for this client mentions Bitcoin (BTC) as the traded asset, with settlement over the Lightning Network and communication carried out on Nostr. The client is built around this combination rather than supporting a broad list of coins.
How to install Mostro P2P cli client on Windows
- 1
Download the ready-made program
Get the Windows build from the official GitHub Releases page for MostroP2P/mostro-cli. Choose the latest release, currently v0.16.3, and download the Windows archive. Avoid copies from unofficial mirrors or file-sharing sites.
- 2
Verify the file
Compare the SHA-256 checksum of the downloaded file with the value published on the release page, and check the signature if one is provided. A mismatch means the file was altered or corrupted, and it should not be run.
- 3
Extract and place the binary
Unzip the archive to a folder you control, such as C:\Tools\mostro-cli. Add that folder to your PATH environment variable if you want to run mostro-cli from any directory in PowerShell or Command Prompt.
- 4
Configure relays and keys
Before the first run, set the RELAYS variable with one or more wss:// relay addresses, and set ADMINNSEC only if you need admin commands. Keep your private keys in a safe place and never paste them into a website.
- 5
Sync the trade index
Synchronize the trade index before trading. This step is required, not optional, because it keeps your client aware of the trades already associated with your identity. Follow the synchronization command in the current documentation for your release.
-
Run a first test command
Open a terminal and run mostro-cli with a read-only command such as listing orders. If you see a list or a clear empty result, the connection to your relays is working.
System requirements
- Windows with a current 64-bit operating system
- A stable internet connection able to reach your chosen Nostr relays
- Access to a Mostro instance, which the client connects to through the relays
- A terminal such as PowerShell or Command Prompt
- Private keys for your identity, kept outside the client folder
How to use Mostro P2P cli client
The client is driven by subcommands run in a terminal. Before any trade, make sure your relay list and keys are set, because most commands will fail without them. Each subcommand is documented in the help output, so running the help flag is the quickest way to see what is available in your version.
A typical session looks like this:
- Set the RELAYS variable to a comma-separated list of wss:// URLs, or pass the relay list with the -r option before the subcommand.
- Synchronize the trade index as described in the installation steps.
- List the current orders to see what is available.
- Take an existing order or post your own, choosing buy or sell and, if you wish, a range.
- Follow the flow prompts to pay the invoice or provide one, then confirm when the trade is complete.
- If something goes wrong, use cancellation or the dispute flow instead of ignoring the trade.
If a Mostro instance rejects your events or does not reply, it may require proof of work. Ask the operator what difficulty is enforced and set the POW variable accordingly.
Pros & cons
- Free and open source under GPL-3.0, so the code can be inspected
- Covers the full trade lifecycle, from listing orders to dispute handling
- Supports range orders and Lightning Address payouts
- Scriptable, which suits automation and monitoring
- Works across Windows, macOS and Linux
- Described as a work in progress, so features and commands may change
- Requires comfort with the command line and environment variables
- Depends on reliable relays and a compatible Mostro instance
- Admin functions need a separate key, which adds setup complexity
- Documentation is less extensive than that of mainstream wallets
Is Mostro P2P cli client safe?
Download only from the official GitHub repository or its Releases page, and verify the SHA-256 checksum or signature before running the file. Never enter a seed phrase or a private key on a third-party website, and be wary of anyone who asks for your nsec key outside the client itself.
The project is actively maintained, with its last code update recorded on 2026-10-14, but it is still labeled as a work in progress. Trades involve real bitcoin, so start with small amounts and read the dispute and cancellation steps before your first trade. Check the latest version on the official site before relying on it for important transactions.
- Official source only. Download from github.com/MostroP2P/mostro-cli. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Mostro P2P CLI differs from most of the tools in this catalog because its purpose is trading rather than running infrastructure. Node and server programs such as Fulcrum or Electrum Personal Server exist to index blockchain data and serve wallets, while Mostro CLI places orders and settles payments through a peer-to-peer marketplace. The closest comparison is with general-purpose command-line clients such as Native apps and CLI, which can be scripted but are not built around a trading protocol.
If you want to run your own node rather than trade, Gocoin, Stacks Node or Stratis Full Node are better matches. Elements / Liquid is aimed at sidechain development. For a Bitcoin wallet backend, Frigate and Fulcrum are more relevant choices.
Specifications
- Price
- Free
- Type
- Open source
- License
- GPL-3.0
- Latest version
- v0.16.3
- Last update
- 14 Oct 2026
- Windows support
- Likely (builds for Windows; check releases)
- Source code
- github.com/MostroP2P/mostro-cli
Frequently asked questions
Yes. Mostro P2P CLI is free and released under the GPL-3.0 open source license. There is no charge for downloading or running the client. Trading fees, if any, are set by the Mostro instance you use, so check the terms of that instance before placing orders.
The project publishes builds that target Windows, macOS and Linux, but Windows support is marked as likely rather than guaranteed. Check the releases page for a Windows build for your version, and test with a read-only command before using the client for real trades.
The client itself is open source, which lets anyone review the code. Safety depends on how you handle your keys and where you download the file. Verify the checksum, keep your private keys off third-party sites, and start with small amounts while you learn the trade flow.
A range order lets you post an offer that covers a span of amounts instead of one fixed size. A counterparty can take any amount within the limits you set. This is useful when you are flexible about how much you want to trade in a single deal.
Mostro communicates through Nostr relays, which store and forward events between users. The client needs to know which relays to connect to, so you set them with the RELAYS variable or the -r option. Using more than one relay improves reliability if a single server goes down.
No. Ordinary trading, including taking and posting orders, does not require an admin key. ADMINNSEC is only needed for admin subcommands used by operators and solvers who handle disputes. Keep that key separate from the one you use for everyday trades.
If a Lightning payment fails, a buyer can submit a new invoice to continue the trade. If both parties agree, a trade can be cancelled cooperatively. When these options do not resolve the situation, open a dispute and provide the information requested by the solvers.
Verdict
Mostro P2P CLI suits traders and developers who want to place and manage bitcoin Lightning orders from a terminal, and who are comfortable managing keys and relay settings. It is free, open source and covers the full trade lifecycle. Because it is still a work in progress, it is best used by people who can follow release notes and test with small amounts. Beginners may prefer a graphical front end until they are confident with the command line.