跳转到内容
Open StampDEX

订单生命周期状态机

State
Verified
Lifecycle
stable
Applies to
continuous deployment, verify with GET /api/version
Last verified
2026-09-01
Chain
bitcoin / mainnet
Source and review
Owning source
orders module, OrderStatus enum, order expiry crons
Review window
90 days
View page as Markdown
Full source and verification record
Owning repository
bitcoinuniverseio/stampdex (private application source)
Source path
orders module, OrderStatus enum, order expiry crons
Applicable release
continuous deployment, verify with GET /api/version
Chain and network
bitcoin / mainnet
Lifecycle
stable
Last verified
2026-09-01
This page
Edit on GitHub · Bitcoin Universe platform

[!NOTE] 本页说明本地未发布的修复。经典 SRC-20 订单使用托管地址,并非非托管或原子结算。签署部分签名的比特币交易 (PSBT) 前请核对资产、网络和费用。

An order is not a request that either succeeds or fails. It is a state machine, and every state has a name the product shows you, a meaning, and a place where the money is. This page draws the machine.

Local candidate, 6 September 2026. NO-GO. Not deployed. These source changes have no real-wallet, native-network or browser acceptance witness. Earlier captures do not verify this candidate.

The SRC-20 order state machine on StampDEXSeven states run left to right along the top. Draft becomes Open when the seller signs. Open becomes Pending when a buyer locks the listing. Pending becomes Awaiting transfer when the buyer pays, and if the buyer stops, the lock lapses and the order returns to Open. Awaiting transfer becomes Settling when the payment confirms, Settling becomes Awaiting confirmation when the token transfer is broadcast, and two confirmations make it Filled. Three terminal states sit on a second row: Expired below Draft, reached when an unsigned listing runs out of time; Cancelled below Open, reached when the seller signs a cancellation; and Failed below Settling, reached when the token balance cannot be verified, with the buyer's BTC still held in the listing escrow.seller signsbuyer locksbuyer payspayment confirmstransfer broadcast2 confirmationsnever signedseller signs a cancelbalance not verifiedlock lapses, back on the bookDRAFTnot signed yetOPENon the bookPENDINGbuyer holds BTCAWAITING TRANSFERBTC in escrowSETTLINGBTC in escrowAWAITING CONF.BTC in escrowFILLEDboth sides paidEXPIREDnothing movedCANCELLEDtokens returnedFAILEDBTC held in escrow
Colour says where the BTC is, and nothing else. Purple is the per-listing escrow StampDEX controls. Failed is purple for the same reasonSettling is: the money is in the same place. Failed is not a state where funds vanish, it is a state where they stop moving.
State What happened Who can act
Draft The listing is prepared but the seller has not signed it. Buyers never see it The seller, by signing
Open The listing is live on the book at its exact amount and price Any buyer, or the seller by cancelling
Pending A buyer locked the listing and is paying. Only an unpaid reservation may release; an associated payment stays in recovery That one buyer
Awaiting transfer The payment is broadcast. StampDEX waits for confirmation and an index check Nobody. Bitcoin decides
Settling The settlement worker is verifying the balance and broadcasting the token transfer Nobody
Awaiting confirmation The token transfer is broadcast and needs one confirmation Nobody
Filled The engine recorded finalization. Current completion also needs retained delivery and receipt evidence Nobody. It is done
Cancelled The seller cancelled before a sale Nobody
Expired The listing, or a buyer’s lock, ran out of time Nobody
Failed The payment confirmed but the token balance could not be verified. Funds are held in escrow An operator

An unpaid reservation may return to Open. A known payment or uncertain submission must first reconcile the same order and lock. A lost response does not prove that no payment occurred.

Replacement keeps linked order IDs. SRC-20 repricing, splitting and repair use the existing guarded replacement routes. A rejected replacement signature must leave the old listing intact. Refresh both linked versions after the action. See Change a listing price.

Failed is not the end of the money. It is the machine refusing to release funds against a balance it could not verify. See Recovery.

The candidate adds executionSummary to the existing order read. It separates payment, token transfer and delivery, shows source freshness and chooses the next supported action. A transaction ID alone does not prove receipt. Old rows with missing identity or observations remain unresolved. Reopen the saved order after reload before starting another payment.

终端窗口
curl "https://stamp.api.bitcoinuniverse.io/api/v1/orders?tick=SEX&status=open"

Every order carries its status, and priceSatsPerToken * amount always equals totalPriceSats. The API refuses to serve a listing whose stored numbers disagree, so a listing you can read is a listing whose arithmetic holds. See Orders endpoints.

Was this page helpful?
How can we improve it?
0/500
✓Thank you for helping improve StampDEX documentation!