Skip to content

marketplace.v1 — P2P exchange contract (Mostro-inspired) #200

Description

@melvincarvalho

Summary

Implement a marketplace.v1 web contract profile for peer-to-peer exchange, inspired by Mostro.

Context

Mostro is a P2P Bitcoin↔fiat exchange running on Nostr + Lightning. Its state machine (create order → take → fiat-sent → release/dispute/resolve) maps directly to a web contract with 7 transitions and webledger escrow.

What's needed

  1. Contract source (marketplace.js) — transition functions: createOrder, takeOrder, fiatSent, release, cancel, dispute, resolve
  2. Executor support — the generic contract executor (see marketplace.v1 — P2P exchange contract (Mostro-inspired) #200) handles this automatically once built
  3. Webledger escrowcreateOrder debits seller's balance (locks funds), release credits buyer, cancel/resolve returns to appropriate party

Transitions

Transition Actor Ledger effect
create-order seller debit seller (escrow)
take-order buyer
fiat-sent buyer
release seller credit buyer
cancel either credit seller (refund)
dispute either — (state change only)
resolve arbiter credit winner

Dependencies

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    nostrNostr relay, did:nostr auth, NIP-relatedpluginCould be implemented as a plugin (#206); core/plugin line defined in #564

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions