taker flow in the wallet: buy qtc with btc, sell qtc for btc, through the escrow provider #61

Open
opened 2026-09-15 14:41:57 +00:00 by grenade · 0 comments
Owner

Parent: #54

Scope

A second SwapProvider beside NEAR Intents, escrow, and the screens for it. The wallet stays PQ-only: it never holds a Bitcoin key.

  • Buy QTC with BTC: pick an offer, see the multisig address and confirm its derivation locally, watch the maker fund it and propose the refund, then show the BTC address and exact amount to pay from an external Bitcoin wallet (QR and copy), watch confirmations, propose release from the wallet's QTC key, and watch the maker's approval land.
  • Sell QTC for BTC: enter and confirm a BTC receive address (checksum validated, shown once more in the review screen), fund the escrow and propose the refund in one reviewed signing session, wait for the buyer's BTC, then approve and execute the release.
  • Every state of the trade is shown with what happens next and who has to act; the review screen for each signing step is decoded by Rust from the call bytes (#28's rule), including the fee leg of the release.
  • Orders persist and resume (#39's state machine gains the escrow states).

Acceptance

The epic's definition of done, driven from these screens on Planck plus signet.

Depends on

The protocol document; the coordinator; #28 (send with Rust-decoded review); #39 (orders state machine).

Parent: #54 ## Scope A second `SwapProvider` beside NEAR Intents, `escrow`, and the screens for it. The wallet stays PQ-only: it never holds a Bitcoin key. - **Buy QTC with BTC**: pick an offer, see the multisig address and confirm its derivation locally, watch the maker fund it and propose the refund, then show the BTC address and exact amount to pay from an external Bitcoin wallet (QR and copy), watch confirmations, propose release from the wallet's QTC key, and watch the maker's approval land. - **Sell QTC for BTC**: enter and confirm a BTC receive address (checksum validated, shown once more in the review screen), fund the escrow and propose the refund in one reviewed signing session, wait for the buyer's BTC, then approve and execute the release. - Every state of the trade is shown with what happens next and who has to act; the review screen for each signing step is decoded by Rust from the call bytes (#28's rule), including the fee leg of the release. - Orders persist and resume (#39's state machine gains the escrow states). ## Acceptance The epic's definition of done, driven from these screens on Planck plus signet. ## Depends on The protocol document; the coordinator; #28 (send with Rust-decoded review); #39 (orders state machine).
grenade added the child label 2026-09-15 14:42:22 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blackbeard/wallet#61