Order lifecycle
Source and verification
- 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
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.
Every state
Section titled “Every state”| 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. The lock releases by itself if the buyer stops | 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 | Settled. Buyer has the tokens, seller has the proceeds | 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 |
The transitions that surprise people
Section titled “The transitions that surprise people”Pending goes back to Open. A buyer who locks a listing and then walks away does not freeze it. The lock lapses and the listing returns to the book. Neither side lost anything, and the seller does nothing.
Open does not become Open at a new price. There is no price edit. Changing a price means Cancelled plus a new Draft, both signed by you. The registry records this explicitly for both protocols: listings must be cancelled and relisted, because no atomic listing update is implemented. 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.
Reading an order over the API
Section titled “Reading an order over the API”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.