Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Decision table

One table to map any outcome to an action. Evaluate top to bottom; the first match wins.

#ConditionClassRetry?Action
1stdout empty or not one JSON objecttransportread: yes · write: noTreat a write as uncertain; log stderr
2schema_version != "1"incompatiblenoStop; upgrade the wrapper
3status == "ok" and warnings == []ok—Use data
4status == "ok" with warningsok_with_warnings—Use data; handle warnings (below)
5status == "uncertain"uncertainnoCheck first
6error.code == "invalid_arguments"caller_bugnoFix the call (missing --yes? bad UUID? window range?)
7error.code == "output_not_supported"unsupportednoCommand is human-only
8configuration_missing, configuration_invalidconfigafter fixingAsk for node key / relays
9identity_missing, identity_unreadableidentityafter fixingCreate or restore the identity; check MCLI_DIR
10store_unwritable, store_unreadablestorageafter fixingDisk, permissions, locked database
11order_unknownnot_localafter order syncWrong id, other data directory, or a range child: run order sync
12protocol_unsupportednode_incompatiblenoThe node runs protocol v1
13pow_requiredconfigafter raising --pow
14node_refusedrefuseddepends on reasonShow reason; too_many_requests → back off; status reasons → refresh with order info
15relay_connection_failed, relay_read_failed, read_timeout, request_rejected, reply_timeout, reply_malformed (as error)transientyes, with backoffNothing happened, or it was a read
16read_limit_exceededtoo_muchafter narrowingSmaller --since, or --order
17order_declineddeclined—Only from the human prompt
18internal_errorbugmaybe onceReport with the command (without secrets)

Warnings

WarningAction
local_status_staleStep succeeded. Do not resend. Local status lags; trust order info
trade_index_not_recordedStep succeeded. Run getlasttradeindex (human) before the next order new and before order sync
orders_not_returnedSome ids unknown or not yours: see data.not_returned
trade_keys_limitedOld keys skipped; use message list --order for old orders
invalid_event_timestamp, invalid_order_timestampDisplay “invalid date”; use _unix fields
cleanup_incompleteIgnore

next_step dispatch

Sourcenext_stepAction
order.newwait_for_takerPoll message list
order.new, order.take-*, message.listpay_bond_invoicePay the bond invoice (data.payment_request or payload invoice)
order.take-buy, message.listpay_hold_invoicePay the hold invoice
order.take-sell, message.listadd_invoiceorder add-invoice
order.take-sellwait_for_seller_paymentPoll
message.listadd_bond_invoicebond add-invoice
order.fiat-sentwait_for_releasePoll
order.cancelwait_for_peer_cancelPoll; the peer must cancel too
order.releasesync_child_orderorder sync