-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
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
- Contract source (
marketplace.js) — transition functions:createOrder,takeOrder,fiatSent,release,cancel,dispute,resolve - Executor support — the generic contract executor (see marketplace.v1 — P2P exchange contract (Mostro-inspired) #200) handles this automatically once built
- Webledger escrow —
createOrderdebits seller's balance (locks funds),releasecredits buyer,cancel/resolvereturns 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
- Generic contract executor (marketplace.v1 — P2P exchange contract (Mostro-inspired) #200)
- Webledgers integration (existing)
References
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels