Qlyphs Docs

Trade

Reserve a token lot for a named buyer, then exchange it for QTC in one purchase transaction.

The question

How do you sell tokens to one person for QTC, without either of you trusting the other?

QLYP-v1 supports bilateral sales: a seller reserves a token lot for one named buyer, at a fixed QTC price and with an expiry height. Another account cannot buy that reservation. There is no partial fill. A market open to any buyer, open listings, is in development.

Current availability

Purchases require a development deployment with two trusted witnesses and a wallet built with their trust policy. Purchases remain disabled on mainnet. The flow below describes that development protocol, not a verified live mainnet market.

Reserve a lot

The seller and buyer first need a native 2-of-2 trading account, set up once per buyer. The seller then signs an offer proposal committing the asset, amount, buyer, payout address, price, 1% fee and expiry. QLYP reserves the tokens after accepting that offer. Reserved tokens cannot be transferred elsewhere. The trading account holds no purchase principal. Native account/proposal costs and network fees may apply; listing has no Qlyphs fee.

Listing
Lot
1,000 GLYF
Price
5 QTC
Status
Account ready
Ticket · native proposal
Signer
you
Signer
named before signing
Threshold
2
Proposal ID
assigned on inclusion
  1. 01 / 04

    Start with a trading account

    The seller and named buyer use a native 2-of-2 trading account. Creating this account is separate from proposing an offer, and can have a native cost. It holds no purchase principal.

  2. 02 / 04

    Propose the exact offer

    The seller signs an offer proposal for 1,000 GLYF at 5 QTC. Its immutable terms name the buyer, payout, Qlyphs fee and expiry. The seller and buyer are the two signers of the existing trading account.

  3. 03 / 04

    Identify the proposal

    The native proposal receives an ID within that trading account. Together with the network and multisig account, this identifies the reservation. The wallet checks that exact proposal before constructing a purchase.

  4. 04 / 04

    Wait for a finalized reservation

    QLYP accepts the valid offer and reserves the tokens. The buyer waits for finality, then verifies and approves the exact proposal inside the purchase batch. Cancellation and expiry can release an unsettled reservation.

Buy the reserved lot

The named buyer waits for the reservation to finalize. Their wallet verifies the witness proof, checks the native proposal and builds the purchase from its committed terms.

Offers for this buyer
QRKS2501.2 QTCTrade
GLYF1,0005 QTCTrade
LTTC400.8 QTCTrade
Your wallet
  • Proven by two witnesses
  • Still open, checked on chain
  • Terms built by your wallet
  1. 01 / 05

    You press Trade

    An offer reserves 1,000 GLYF for you at 5 QTC. Only the named buyer can take it. Your app requests a purchase by reservation key; the wallet independently obtains and verifies its terms.

  2. 02 / 05

    The wallet asks for proof

    The wallet requires a proof and signatures from two operators allowed by its compiled development trust policy. Both must bind the same state root and finalized checkpoint. Separate code exists for the witnesses; infrastructure independence must be verified by the operator.

  3. 03 / 05

    It checks the chain itself

    A proof describes a checkpoint. The wallet also reads the native proposal through its configured node, checking the exact call, membership, approvals and expiry. State can still change before your transaction is included.

  4. 04 / 05

    It builds the payment

    The wallet constructs the purchase from the verified offer, then shows the lot, seller payment, 1% Qlyphs fee and network fee. A purchase approves an existing proposal; it does not create a new ticket with a separate fixed ticket fee.

  5. 05 / 05

    One signature, done

    Your signature authorizes one atomic batch: approve the proposal, pay the seller and pay Qlyphs. QLYP delivers tokens only for a matching valid purchase. Track its inclusion, native result, QLYP acceptance and finality; a submitted hash alone is not success.

The purchase is one native atomic batch: approve the exact proposal, pay the seller, and pay the Qlyphs fee. QLYP credits the reserved tokens to the buyer only when that canonical batch succeeds with the required events. The buyer pays 1% on top of the price, rounded up to a QTC base unit, plus network fees; the seller receives the full price.

Native atomicity protects the approval and QTC payments. Token delivery is an overlay rule, so it also depends on valid offer data, correct chain ingestion and correct protocol interpretation. A manual QTC transfer is not a protected token purchase.

A successful purchase cannot be paid twice

The named buyer can give their first native approval only once. A second purchase attempt on the same proposal fails before its payments. Network fees can still be charged.

Original purchase
  1. Approve the existing proposal
  2. Pay the seller 5 QTC
  3. Pay Qlyphs 0.05 QTC
Submitted
Duplicate attempt, same buyer
  1. Approve the existing proposal
  2. Pay the seller 5 QTC
  3. Pay Qlyphs 0.05 QTC
Submitted
  1. 01 / 05

    One buyer, two purchase attempts

    Imagine the named buyer submits two purchases for the same finalized reservation with different native nonces. This demonstrates the protocol gate; the wallet must not automatically resend an uncertain transaction.

  2. 02 / 05

    The first one runs

    The first transaction approves the existing proposal using its exact committed call. The native pallet records the named buyer’s first approval.

  3. 03 / 05

    It goes through

    The same atomic batch pays the seller and the 1% Qlyphs fee. A matching valid purchase makes QLYP settle the reservation to the buyer. The token interpretation is separate from native execution.

  4. 04 / 05

    The second one hits the lock

    The duplicate tries to approve that proposal again. Native approval fails because this buyer already approved, or because the proposal was removed. The batch cannot proceed to either payment.

  5. 05 / 05

    Cancelled whole

    The failed duplicate pays neither the seller nor the Qlyphs sale fee. Network fees can still be charged. Keep the original transaction hash and follow its result instead of retrying a purchase.

This is a duplicate-purchase example for the same buyer, not a race between different buyers. If a submission has an uncertain result, keep its hash and check its status; do not resend it.

Cancel or expire

A seller can cancel a live proposal. If cancellation is processed before a purchase, approval fails and no purchase price is paid. If the purchase succeeds first, later cleanup cannot return the sold tokens to the seller. Expiry releases a still-live reservation at the first block strictly after its expiry height. Network fees can apply to cancellation and failed attempts.

On this page