Skip to content

Deals matched against --allow-private-advertise sellers get permanently stuck in probe for remote buyers #164

Description

@Ashukran

A seller running dexdo seller --allow-private-advertise --gateway-advertise 127.0.0.1:PORT (or default loopback) can post offers that are matchable by any buyer on the network — including buyers who are not on the same machine/LAN. Once matched, the deal is funded and enters state=probe, but a remote buyer has no way to reach the seller's loopback-only gateway to trigger delivery. The deal has no natural resolution path: the buyer's client can't connect, and the seller has no automatic timeout — only a manual sellerStop/close, which returns the buyer's escrow without them ever receiving what they paid for.

Repro:

Seller runs dexdo provision + dexdo seller --allow-private-advertise --gateway-advertise 127.0.0.1:PORT for a model.
A different buyer (different machine, or via the dex.acki.pro portal) matches the offer and funds the deal.
Deal reaches state=probe, funded=true, opened=true.
Buyer's client (or the portal, which has no inference client at all) cannot reach 127.0.0.1:PORT from outside the seller's own machine.
Deal remains in probe indefinitely — probe_accepted=false, tokens_final=0 — with no automatic resolution.

Suggested fixes (any of):

Reject/flag --allow-private-advertise offers from being purchasable by buyers outside the seller's own local network, at the order-book level.
Have dex.acki.pro warn buyers or refuse to let them buy offers whose advertised gateway is a private/loopback address.
Add a probe-window timeout that automatically resolves a stuck deal (refund or partial settlement) after a bounded period, rather than requiring manual seller intervention indefinitely.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    trackedAccepted and assigned a DEXDO- ticket

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions