Selling as a taker
You take someone’s buy order: you lock sats, receive fiat, then release.
-
Find an order:
order list --side buy --currency USD. -
Take it:
mostro-cli --output json order take-buy --order <id> --yes # --amount <fiat> for a range -
Follow
data.next_step:next_stepDo pay_hold_invoicePay data.payment_request(the hold invoice) with your walletpay_bond_invoicePay data.payment_request(taker bond); the hold invoice then comes as a message withnext_step: pay_hold_invoice -
Wait for the buyer’s fiat. The buyer adds an invoice if needed, pays the fiat and runs
fiat-sent; you see the order go tofiat-sent(order info) and afiat-sent-okmessage. -
Check that the money arrived, then release (irreversible):
mostro-cli --output json order release --order <id> --yes
If something goes wrong
| Situation | What to do |
|---|---|
| The buyer never sends fiat | Cancel cooperatively (order cancel) or open a dispute |
| You did not pay the hold invoice | Nothing of yours is locked; the node will not keep the trade open forever (its timeouts apply). order info shows the current status |
take-buy returned uncertain with order_not_saved | data.payment_request is still the hold invoice; the local row is missing. Fix the store, then use order info. Commands that need the row fail with order_unknown until it exists |